
Sissejuhatus
JavaFX on populaarne raamatukogu rikkalike graafiliste kasutajaliideste loomiseks kaasaegsetele rakendustele. Üks selle paljudest võimsatest funktsioonidest on võime eraldada rakenduse loogika kontrolleriteks, muutes koodi organiseeritumaks ja hõlpsamini hooldatavaks. Kuid mõnikord võib arendajal olla vaja töötada aknaga otse ja siin peitub väljakutse saada aken kontrollerilt. Uurime seda oma lahendusega, mis kasutab Stage klassis, kasutades samal ajal ära JavaFX-i paindlikkust ja mitmekülgsust.
Akna hankimine kontrolleris
Lahenduse tuum peitub klassis Stage – üks JavaFX-i peamisi ehitusplokke. Etapp tähistab JavaFX-i rakenduse tipptaseme akent ja koosneb teie rakenduse stseenide visuaalsest alast. Akna saamiseks kontrollerisse peaksite edastama etapi viite kontrollerile, kui see on loodud.
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new FXMLLoader(getClass().getResource("MainWindow.fxml"));
Parent root = loader.load();
MainWindowController controller = loader.getController();
controller.setWindow(primaryStage);
primaryStage.setTitle("Sample Application");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Esiteks laadib FXMLLoader FXML-faili, mis kirjeldab rakenduse kasutajaliidest. Seejärel, kasutades getController() meetodil, saame viite MainWindowControllerile ja edastame primaarStage viite kontrollerile, võimaldades sellel otse aknale juurde pääseda.
MainWindowControlleri klass näeks välja selline:
public class MainWindowController {
private Stage window;
public void setWindow(Stage window) {
this.window = window;
}
// Other methods go here
}
Nüüd on kontrolleril täielik juurdepääs aknale ja ta saab sellega teha erinevaid toiminguid vastavalt rakenduse nõuetele.
JavaFX teegid ja funktsioonid
JavaFX on võimas teek, mis pakub palju funktsioone köitvate ja visuaalselt atraktiivsete rakenduste loomiseks. Koos Stage klassis, pakub see arvukalt muid klasse ja komponente teie rakenduse jaoks täiusliku kasutajaliidese loomiseks. Mõned olulised komponendid hõlmavad järgmist:
- Stseen: konteiner kõigi rakenduse visuaalsete komponentide jaoks. Igal etapil on stseen ja stseen vastutab kasutajaliidese visuaalse hierarhia haldamise eest.
- FXMLLoader: laadib .fxml-failid, mis määratlevad kasutajaliidese, hõlbustades keerukate kasutajaliidese paigutuste kujundamist ja kasutajaliidese loogika eraldamist taustakoodist.
- sõlme: sõlm tähistab mis tahes visuaalset elementi JavaFX-i rakenduses, nagu sildid, nupud ja paigutused. Kõik rakenduse visuaalsed komponendid pärivad Node'ilt.
- Suhteline: spetsialiseeritud Node alamklass, mis võimaldab ühte või mitut alamsõlme, mida saab korraldada vastavalt vanema konkreetsetele paigutusreeglitele.
Sarnaste juhtumite käsitlemine
Akna hankimine kontrollerisse on vaid üks kasutusjuht JavaFX-i teekide ja funktsioonidega töötamiseks, kuid on palju muid stsenaariume, kus need teadmised võivad olla väga kasulikud. Näiteks:
- Dünaamiline sisu: Akende eksemplaridega töötamise mõistmine võib aidata luua rakendusi, mis dünaamiliselt lülituvad ühes aknas erineva sisu vahel, parandades kasutajakogemust.
- Kohandatud akna välimus: Otsene juurdepääs kontrolleri aknale võimaldab arendajal muuta selle välimust vastavalt kasutaja eelistustele või rakendusnõuetele, näiteks muuta värve, läbipaistvust või kuju.
- Akna juhtimine: Aknaeksemplariga tihedat koostööd tehes saab arendaja pakkuda kasutajatele akna üle suuremat kontrolli, näiteks akna suurust muuta, minimeerida, maksimeerida või programmiliselt sulgeda.
Kokkuvõtteks võib öelda, et teadmine, kuidas kontrolleris aken hankida, on JavaFX-i arendajatele väärtuslik oskus. Mõistes, kuidas töötada JavaFX-i klassi Stage ja sarnaste komponentidega, saavad arendajad täiustada oma rakenduste võimalusi ning luua tõhusamaid ja lihvitud kasutajaliideseid.