JavaFX-Controller ist immer null

Ich werde versuchen, in JavaFX 2 zu kommen und eine einfache Demo-App verwenden. Das Projekt besteht aus 3 Dateien, der Datei Main.java, der Datei Controller.java und der Datei sample.fxml.

In Sample.fxml habe ich den Controller deklariert:

<GridPane fx:controller="sample.Controller"
      xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>

Und in meinem Main.java versuche ich auf den Controller zuzugreifen

    FXMLLoader loader = new FXMLLoader();
    Parent root = loader.load(getClass().getResource("sample.fxml"));
    System.out.println(loader.getController()); //prints always null

Meine erste Idee war also, dass das Mapping nicht funktioniert. Also habe ich eine Initialisierungsmethode im Controller hinzugefügt.

@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
    System.out.println("init");
}

Die Ausgabe ist jetzt:

drin

Null

Meine Frage ist nun, wie ich auf den Controller einer bestimmten fxml-Datei zugreifen kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage