9

JavaFX Scene Builder を使用しているときに、次の問題が発生しました...

与えられた:

Anchor Pane (Scene Builder から作成された fxml) の説明を含む fxml ファイル。
アンカー ペインの場合、コントローラ クラスが指定されていません。
この fxml は、FXMLLoader を使用して Java アプリケーションにロードされます。

必要:

アンカー ペインをダウンロードしたら、値を Controller Class に設定します。
異なるハンドラで同じ fxml をロードする必要があります。

質問:可能ですか? 可能であれば、どのように実装しますか?

4

1 に答える 1

18

読み込み中の FXML ファイルのコントローラー クラスは、Scene Builder を使用して設定することもできます。しかし、アプリケーションの読み込み時に設定したいと考えています。これを実現するには、load() メソッドが呼び出される前に FXMLLoader のコントローラーを設定する必要があります。

AnchorPane rootPane;
MyController controller = new MyController();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("my.fxml"));
fxmlLoader.setRoot(rootPane);
fxmlLoader.setController(controller);
fxmlLoader.load();
于 2013-01-16T14:44:01.970 に答える