最近、私はJavaFx2.0でソフトウェアをプログラミングしていましたが、大きな問題がありました。コントローラクラスにはどうすればアクセスできますか? 同じクラスタイプのすべてのコントローラクラスについて、依存するモデルのために異なる動作をする可能性があるので、 ビューのコントローラクラスを取得して、指定したモデルを提供したいと思いますか? 私はFXMLLoaderでコントローラを取得しようとしましたが、getController()メソッドはnullを返します。なぜですか?JavaFx 2.0でControllerクラスにアクセスするにはどうすればよいですか?
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
だから、私がしたいのは、すべてのLightViewControllerに指定されたLightオブジェクト(Listからのものです)を提供することです。 誰でも助けてくれますか?ありがとうございました!私は以下を使用
が重複する可能性を、これを試すことができます。シーンの値を別のタスクから更新](http://stackoverflow.com/questions/10107829/javafx-2-0-fxml-updating-scene-values-from-a-different-task) –
多分この回答は役に立ちます:[http://stackoverflow.com/a/10108788/682495](http://stackoverflow.com/a/10108788/682495)。 –