2017-12-27 12 views
0

私には、データレコードを作成するためのフォームを表すFXMLがあります。このFXMLをCreateRecordControllerにのみ使用すると、コントローラをFXMLで直接バインドし、fx:idを使用してこのコントローラにコントロールをバインドすることができます。JavaFX 8:FXMLの再利用

しかし、このFXMLをEditRecordControllerに再利用したい場合はどうすればよいですか?私はFXMLの2つのコントローラをバインドすることはできません。 FXMLローダーでこのバインディングを行う方法はありますか?

答えて

2

fxmlをロードする前にコントローラインスタンスをFXMLLoaderに渡すことができます。これは、FXMLファイルから存在しないとfx:controller属性が必要です。

Object controller = ... // create an instance of the desired controller class here 

FXMLLoader loader = new FXMLLoader(getClass().getResource("/some/path/myfxml.fxml")); 
loader.setController(controller); 

Node root = loader.load(); 

注:バインディングあなたはどのJavaFXのプロパティにコントローラを割り当てていないので、ここで間違った用語です。

関連する問題