Ich habe eine fxml-Datei-Controller mit dem Namen mainController.java. Was ich tun möchte, ist, wenn die Ansicht mit diesem Code sichtbar ist:Wie ändere ich die onCreate-Methode in einem JavaFX-Controller
Stage.show();
ich einige Methoden ausgeführt werden soll, die innerhalb der Controller-Datei sind, so kann ich einige Dinge ändern, bevor das Programm sichtbar ist. Wie kann ich das machen?
Ich würde sagen, "kann implementieren" ist die ungenaue hier. Da der Controller nicht-abstrakt sein muss, bedeutet das Hinzufügen der Schnittstelle, dass die Methode implementiert werden muss. Auch IMHO die Erklärung der Vorteile dieses Ansatzes sind ein bisschen irreführend. Sie können auch Dienste in einem Konstruktor überprüfen (mit der Methode 'initialize' können Sie nur die injizierten Instanzen entsprechend den Ergebnissen ändern). – fabian
Sie haben recht, wenn Initializable implementiert ist, muss initialize implementiert werden. Außerdem hängt es von den Diensten ab, ob Sie einen Konstruktor oder die initialize() - Methode verwenden. Mit initialize() können Sie auf die von @FXML in Ihrer Controller-Klasse annotierten Attribute und Methoden zugreifen. Auf externe Ressourcen kann auch im Konstruktor zugegriffen werden. Siehe hier: https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html#controllers – Supahupe