JavaFX Auf Nodes einer FXML-Datei in start Methode zugreifen

cyrano

Mitglied
Hallo zusammen,

bislang habe ich meine JavaFX-Oberflächen immer in reinem Java programmiert. So habe ich meist in der start-Methode meine Controls erzeugt und dort auch initialisiert. Jetzt wollte ich aber doch auf FXML umsteigen, stoße aber auf einige Probleme.

Wenn ich z. B. einen Menüpunkt in der start-Methode aktivieren oder deaktivieren möchte, dann erhalte ich immer eine "java.lang.reflect.InvocationTargetException".

Wenn ich genau den gleichen Aufruf in einem Menü oder Button verstecke, dann funktioniert es problemlos. Ich habe leider noch kein Tutorial oder ähnliches gefunden, wo die zeitlichen Abläufe genau erklärt sind, wie eine Applikation mit FXML aufgebaut wird. Irgendwie scheinen die Elemente zum Zeitpunkt der start-Methode ja noch nicht zu existieren oder was mache ich falsch?

Für Eure Anregungen schon im Voraus ganz herzlichen Dank!
 

Dompteur

Top Contributor
Du hast ja schon eine Controller Klasse für dein FXML File erzeugt. Stimmt das ?

In dieser Klasse implementierst du die Methode "public void initialize(URL arg0, ResourceBundle arg1)"
Diese wird vom Framework aufgerufen, nachdem die Maske aufgebaut worden ist.
Hier kannst du das erste Mal im Lifecycle der Maske auf die Controls zugreifen.
 

cyrano

Mitglied
Hallo Dompteur,

vielen Dank für Deine Antwort, das ist genau die Info, die ich brauchte. Da ich versucht habe, ein bestehendes Java-Programm, das ich in Netbeans mit dem Assistenten für JavaFX-Applikationen erstellt habe, fehlte mir die Controller-Klasse. Deshalb habe ich als Controller-Klasse die Hauptklasse angegeben, in der sich ja die start-Methode befindet.

Sicherlich ist das jetzt bestimmte ein sehr unschöner Weg, aber es ging mir auch nur um Verständnis, wie ich aus einem "normalen" Java-Programm eine Variante mit FXML-Unterstützung mache.

Ich habe jetzt der Hauptklasse das Interface "initializable" hinzugefügt und dort dann auch die von Dir beschriebene init-Methode aufgerufen und dann klappt es auch. Aber ich werde das Ganze noch sauber aufteilen in Start-Klasse und Controller-Klasse.

Dazu noch eine Frage: Ich finde nur sehr wenig tiefgreifende Informtionen über die genauen Abläufe von JavaFX im Zusammenspiel mit FXML. Gerade die zeitlichen Zusammenhänge, die Du in Deiner Antwort beschrieben hast. Kannst Du da eine Quelle nennen?
 

Dompteur

Top Contributor

cyrano

Mitglied
Vielen Dank für die Infos. Die Links hatte ich auch schon besucht und finde die auch wirklich gut. Aber, vor allem die Oracle-Tutorials sind für den Einstieg sehr gut geeignet, aber doch ein wenig oberflächlich. Aber bei so einem komplexen System wird es auch wohl nicht die einzelne gute Info geben.
 

Dompteur

Top Contributor
Nun, der Quellcode von JavaFX ist ja (großteils) frei verfügbar. Im Java 8 JDK Rootverzeichnis findest du das File : javafx-src.zip
Wenn du diese Sourcen zu deinem Projekt hinzufügst, kannst du im Debugger beispielsweise nachvollziehen, woher du aufgerufen wirst.

Leider kenne ich nichts, was von der Detailstiefe zwischen den eher einfachen Einführungen und dem Source-Code liegt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JavaFX Width von Nodes einer HBox an Tab width anpassen AWT, Swing, JavaFX & SWT 3
D Nodes eines statischen JTrees sollen auf Anker (Textmarken) in einer HTML-Datei zeigen AWT, Swing, JavaFX & SWT 8
G JavaFX - bugs bei der ermittlung der breite der nodes AWT, Swing, JavaFX & SWT 3
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
F Swing JTree + DiffUtils // Markierung Nodes aufheben AWT, Swing, JavaFX & SWT 2
M Nodes in JTree nicht anzeigen AWT, Swing, JavaFX & SWT 0
A Swing JTree - Nodes expanden AWT, Swing, JavaFX & SWT 2
1 Swing JTree collapse child nodes AWT, Swing, JavaFX & SWT 4
G JTree entfernt Nodes nicht AWT, Swing, JavaFX & SWT 12
L Swing [JTree] Selektierte Nodes nummerieren AWT, Swing, JavaFX & SWT 6
A Swing JTree Editable einzelne Nodes editierbar machen! AWT, Swing, JavaFX & SWT 2
T JTree - alle Nodes entfernen AWT, Swing, JavaFX & SWT 8
D JTree programmtechnisch mehrere Nodes auswählen. AWT, Swing, JavaFX & SWT 2
D JTree - Zugriff auf Nodes mit Object AWT, Swing, JavaFX & SWT 6
P [JTree] Icon für Nodes und Leafs ändern bzw. löschen AWT, Swing, JavaFX & SWT 2
J JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 2
N JTree Nodes durchsuchen AWT, Swing, JavaFX & SWT 3
M JTree nodes nicht selektierbar AWT, Swing, JavaFX & SWT 2
K Probleme mit der Anzeige eines einzigen Nodes in einem JTree AWT, Swing, JavaFX & SWT 9
T JTree alle nodes expanden AWT, Swing, JavaFX & SWT 4
B JTree - Reihenfolge der Nodes verändern AWT, Swing, JavaFX & SWT 3
P JTree -> nodes ausblenden bzw nicht anzeigen AWT, Swing, JavaFX & SWT 7
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
MiMa Selektion aus einer ListView AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
J Suche nach einer horizontal aufklappbaren Toolbar AWT, Swing, JavaFX & SWT 1
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
D JavaFX Einbinden einer .fxml AWT, Swing, JavaFX & SWT 1
B Zeile einer Tabelle selektieren AWT, Swing, JavaFX & SWT 1
A Prüfung einer Eingabe auf Gleitkommazahl AWT, Swing, JavaFX & SWT 5
J Suchmaschine einer Datenbank AWT, Swing, JavaFX & SWT 5
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben