Comment puis-je accéder à une classe Controller dans JavaFx 2.0?
Récemment, j'ai été de la programmation d'un logiciel avec JavaFx2.0,mais j'ai rencontré un gros problème,c'est-à - Comment puis-je accéder à un Contrôleur de classe?
Pour chaque contrôleur de classe avec le même type de classe,ils peuvent agir de différentes parce que le modèle dont elle dépend,si je veux obtenir
le point de vue du Contrôleur de classe et de lui fournir le modèle spécifié,puis-je faire cela?
J'ai essayé d'obtenir le contrôleur par la FXMLLoader,mais la méthode getController() renvoie la valeur null!pourquoi?
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
donc,ce que je veux faire est de fournir à tous les LightViewController avec la Lumière de l'Objet(ils sont à partir d'une Liste).
Quelqu'un peut m'aide?Merci beaucoup!
source d'informationauteur yinger090807
Vous devez vous connecter pour publier un commentaire.
J'utilise la suite :
De cette façon
fxmlLoader.getController()
n'est pasnull
En plus de l'Alf réponse, je tiens à souligner, que le code peut être plus courte:
Cela fonctionne ainsi.
Utilisation
getResourceAsStream
à la place :Simple, fonctionne bien.
Vous pouvez essayer ce...