Recientemente estaba programando un software con JavaFx2.0, pero me encontré con un gran problema, es decir, ¿cómo puedo acceder a una clase de controlador? Para cada clase de controlador con el mismo tipo de clase, pueden actuar de forma diferente debido al modelo del que depende, por lo que quiero obtener la clase Controlador de la vista y proporcionarle el modelo especificado, ¿puedo hacer esto? He intentado obtener el controlador mediante el FXMLLoader, pero el método getController() devuelve nulo. ¿Por qué?¿Cómo puedo acceder a una clase de controlador en JavaFx 2.0?
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
así que, lo que quiero hacer es proporcionar a cada LightViewController un Objeto de luz específico (son de una Lista). ¿Alguien me puede ayudar? ¡Muchas gracias!
posible duplicado de [JavaFX 2.0 + FXML. Actualización de valores de escena de una Tarea diferente] (http://stackoverflow.com/questions/10107829/javafx-2-0-fxml-updating-scene-values-from-a-different-task) –
Quizás esta respuesta pueda ser útil : [http://stackoverflow.com/a/10108788/682495](http://stackoverflow.com/a/10108788/682495). –