Diskuze: Predavania parametrov v JavaFX

Java Java Predavania parametrov v JavaFX

Avatar
Marek Šimon
Člen
Avatar
Marek Šimon:

Ahojte.. môže mi niektor prosím vysvetliť ten príspevok označený ako riešenie na StackOverflow ??? Akurát to potrebujem do môjho projektu (použiť vybranú položku z ListView a byť schopný preniesť ju (používať jej jedinečné atribúty) v novom okne.. to okno slúži niečo ako ZOBRAZIŤ DETAILY, ale je tam možnosť aj úpravy tých dát.. ale neveim sa k tomu dostať, keďže netuším ako presunúť ten objekt ďalej k použitiu..

 
Odpovědět 10. srpna 21:00
Avatar
Nahoru Odpovědět 10. srpna 21:26
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Marek Šimon
Člen
Avatar
Odpovídá na Petr Štechmüller
Marek Šimon:

No mne skôr sa jedná o ten princíp o to vysvetlenie.. lebo tot docela nepoberám. Neviem kde čo volať...

 
Nahoru Odpovědět 10. srpna 21:37
Avatar
Odpovídá na Marek Šimon
Petr Štechmüller:

OK, hoď sem kód, kde vytváříš ten druhý formulář, do kterého chceš poslat data

Nahoru Odpovědět 10. srpna 21:44
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Marek Šimon
Člen
Avatar
Odpovídá na Petr Štechmüller
Marek Šimon:

Tato metoda obsluhuje tlacitko, ktore vyhodi nove okno.. je v hlavnom controllery, kde je aj ListView a ja potrebujem ziskat oznacenim nejaky objekt z listu a ked kliknes na tlacitko, tak pouzije data toho objektu a vyplnim s nim textfieldy na tom novom okne.

public void handleDetailsButton() throws IOException {
        Stage stage = new Stage();
        Parent root = FXMLLoader.load
                (getClass().getResource("DetailsDocument.fxml"));

        stage.setScene(new Scene(root));
        stage.setTitle("Detaily poznamky");
        stage.initModality(Modality.WINDOW_MODAL);
        stage.initOwner(detailsButton.getScene().getWindow());
        stage.setResizable(false);
        stage.setOnHiding( e -> refresh());

        stage.showAndWait();
    }
 
Nahoru Odpovědět 10. srpna 22:09
Avatar
Odpovídá na Marek Šimon
Petr Štechmüller:

Jedu čistě podle návodu na stackoverflow.

public void handleDetailsButton() throws IOException {
        Stage stage = new Stage();
        FXMLLoader loader = new FXMLLoader(getClass().getResource("DetailsDocument.fxml"));
        Parent root = loader.load;

        // Teď příjde to důležité
        TvujKontroler controller = loader.<TvujKontroler>getControler();
        // Zde budeš volat tvojí metodu, kde budeš předávat parametry
        controller.tvojeMetoda();

        stage.setScene(new Scene(root));
        stage.setTitle("Detaily poznamky");
        stage.initModality(Modality.WINDOW_MODAL);
        stage.initOwner(detailsButton.getScene().getWindow());
        stage.setResizable(false);
        stage.setOnHiding( e -> refresh());

        stage.showAndWait();
    }

Vysvětlivky:
TvujKontroler je třída, která je definovaná v souboru DetailsDocumen­t.fxml jako fx:controller (nebo tak nějak)
Kdybys nečemu nerozuměl, nebo to nefungovalo, tak ještě napiš.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 10. srpna 22:16
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Marek Šimon
Člen
Avatar
Odpovídá na Petr Štechmüller
Marek Šimon:

Fakt moc ďakujem, pomohlo mi to veľmi. A to si postupoval podľa odpovede, čo si mi poslal alebo podľa toho riešenia pre ten thread?

 
Nahoru Odpovědět 10. srpna 22:43
Avatar
Odpovídá na Marek Šimon
Petr Štechmüller:

Postupoval jsem podle toho odkazu, co jsem já posílal. Ten odkaz byl mimo jiné řešením vlákna, které jsi Ty uváděl.

Nahoru Odpovědět 10. srpna 22:46
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Marek Šimon
Člen
Avatar
Odpovídá na Petr Štechmüller
Marek Šimon:

Teraz keď na to pozerám znova, tak je to tak jasné :D Díky znova za čas :)

 
Nahoru Odpovědět 10. srpna 22:48
Avatar
Nahoru Odpovědět 10. srpna 22:51
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.