Kürzlich programmierte ich eine Software mit JavaFx2.0, aber ich stieß auf ein großes Problem, nämlich - Wie kann ich auf eine Controller-Klasse zugreifen? Für jede Controller-Klasse mit demselben Klassentyp können sie sich aufgrund des Modells, von dem sie abhängen, anders verhalten, also möchte ich die Controller-Klasse der Ansicht erhalten und sie mit dem angegebenen Modell versehen, kann ich das tun? Ich habe versucht, den Controller durch den FXMLLoader zu bekommen, aber die Methode getController() gibt null zurück!Wie kann ich auf eine Controller-Klasse in JavaFx 2.0 zugreifen?
1.LightView.java
FXMLLoader loader = new FXMLLoader();
anchorPane = loader.load(LightView.class.getResource(fxmlFile));//fxmlFile = "LightView.fxml"
//controller = (LightViewController) loader.getController();//fail to get controller!it is null
//I want to -> controller.setLight(light);
2.LightView.fxml
<AnchorPane ... fx:controller="light.LightViewController" >
3.LightViewController.java
....
private Light light;
public void initialize(URL arg0, ResourceBundle arg1)
4.Light.java
.... a simple pojo
Also, was ich tun möchte ist, jeden LightViewController mit einem bestimmten Light-Objekt (sie sind aus einer Liste) zu versorgen. Kann mir jemand helfen? Vielen Dank!
möglich Duplikat [JavaFX 2.0 + FXML. Aktualisieren von Szenenwerten von einer anderen Aufgabe] (http://stackoverflow.com/questions/10107829/javafx-2-0-fxml-updating-scene-values-from-a-different-task) –
Vielleicht könnte diese Antwort hilfreich sein : [http://stackoverflow.com/a/10108788/682495](http://stackoverflow.com/a/10108788/682495). –