JavaFX Verständnisfrage zu JavaFX FXML und Controller-Klasse

lam_tr

Top Contributor
Hi zusammen,

zu jeder JavaFX FXML Datei gibt es einen Controller-Klasse. Wenn ich Zwei FXML Dateien habe, will die erste in die zweite inkludieren und miteinander kommunizieren lassen. Wieso geht das nicht?

In der Exception steht da, man kann nur einen Controller in gesamten Anwendung haben?

Kann ich es nicht sauber auftrennen für die jeweiligen FXML?

Vielen Dank schonmal.

Gruss lam
 
Jeder - via FXML gelandener - UI-Instanz kann man genau einen Controller zuweisen. Ein Controller *kann* aber auch mehreren FXMLs zugewiesen werden - entweder als jeweils eigentsändige Instanz, oder aber indem man sie im FXMLLoader explizit setzt.

Wenn man also nun mehrere FXMLs über fx:includes ineinander verschachtelt. Kennt der Kind-Controller nicht (notwendigerweise) den Eltern-Controller. Da man sich über die @FXML-Annotation aber sowohl die Root-Nodes der Kind-UI (über den fx:id-Namen) injecten lassen kann und auch den Controller (weirder über den fx:id-Namen plus den Begriff "Controller" als Anhängsel), verstehe ich dein Problem, bzw. deine Frage nicht.

Gib vielleicht ein kurzes Beispiel (kleine FXML und ein paar Zeilen Code), dass dein Problem verdeutlicht und wir können dir dann vielleicht helfen.
 

Zurück
Oben