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.