私のアプリケーションには、その内部に追加された他のすべてのパネル(setVisible())を管理するメインパネルがあり、他のパネルにはコンポーネントがあります。問題はコントローラーを追加するときです。私は各パネルに別のコントローラーを追加したいと思いますが、従来の方法では表示されません。これを解決する方法はありますか?単一のfxmlファイルに2つのコントローラを追加する方法はありますか?
0
A
答えて
1
をあなたの子供のセクションを読み込むことができ、あなたが(とFXMLで定義されたUI階層のインスタンス間FXMLファイルとコントローラクラス間の1対1で対応していなければなりませんファイルインスタンス、コントローラインスタンス)。
コントローラをモジュール化する場合は、FXMLファイルもモジュール化する必要があります。これを行うには
一つの方法は、<fx:include>
を使用することです:
<!-- xml headers, imports, etc -->
<BorderPane fx:controller="com.example.MainController">
<top>
<fx:include source="header.fxml" fx:id="header" />
</top>
<center>
<!-- ... -->
</center>
<bottom>
<fx:include source="footer.fxml" fx:id="footer" />
</bottom>
</BorderPane>
次にheader.fxmlに:
public class MainController {
@FXML
// field name is fx:id+"Controller":
private HeaderController headerController ;
// etc
}
:
<HBox fx:controller="com.example.HeaderController"/>
<!-- ... -->
</HBox>
メインコントローラは、 "付属のコントローラ" を参照することができます
+0
ありがとう、本当に助けてくれました。 –
0
あなたは、親コントローラとFXMLを定義することができます。そして、その中にあなたが...このように一般的に
@FXML
private Pane childPane;
@FXML
public void initialize() {
try {
FXMLLoader loader = new FXMLLoader();
Parent node = loader.load(getClass().getClassLoader().getResource("some.fxml").openStream());
My Controller childController = loader.getController();
childPane.getChildren().setAll(node);
......
}catch (Exception e) {
}
}
関連する問題
- 1. FXMLネストされたコントローラを単一のFXMLファイルに入れる方法
- 2. 単一のコントローラに認証を追加する方法は?
- 3. コントローラに新しいfxmlを追加する方法
- 4. VB2010の単一の単語に色を追加する簡単な方法はありますか?
- 5. FXMLコントローラからステージを取得する方法はありますか?
- 6. 2次outerLayoutを追加する方法はありますか?
- 7. ControlsFXポップアップにFXMLファイルを追加する
- 8. オーチャードの一部にカスタムイベントハンドラを追加する方法はありますか?
- 9. Grailsで...単一のコントローラで2つのテーブルを結合する方法は?
- 10. Rails - 2つのコントローラまたはアクションを追加しますか?
- 11. ワークシートを追加する方法\ワークシートを共有Excelファイルに追加する方法はありますか?
- 12. 2つのgcovファイルを1つにマージする方法はありますか?
- 13. 2つの.gcdaファイルを1つにマージする方法はありますか?
- 14. Sybase ASE 15.7 - 2つのデータベースのオブジェクトを単一のデータベースにマージする方法はありますか?
- 15. APIレスポンスを簡単に消費する方法ですが、レスポンスにいくつかの追加フラグを追加する方法はありますか?
- 16. Sparkに単語を追加する良い方法はありますか?
- 17. バルーンチップにチェックボックスを追加する簡単な方法はありますか?
- 18. Zend Frameworkで2つのラジオボタンを1つのIDに追加する方法はありますか?
- 19. 単一のステージングされたファイルをコミットする方法はありますか?
- 20. sqlite studioの列を一括追加する方法はありますか?
- 21. Gridviewフッターを単一のセルとして追加する方法はありますか?
- 22. AngularJS stateproviderの1つのテンプレートに2つのコントローラを使用してルーティングする方法はありますか?
- 23. Shopifyの購入ボタンカートに2つのフィールドを追加する方法はありますか?
- 24. SQL Serverのテーブルに2つの外部キーを追加する方法はありますか。
- 25. Awk Ubuntuの2つの列を文字列(整数)に追加する方法はありますか?
- 26. 特定のXML要素に2つ以上のプロパティを追加する方法はありますか?
- 27. 2つのファイルを比較する簡単な方法はありますか?一致しない場合はエラーになりますか?
- 28. Markdownファイルにgifを追加する方法はありますか?
- 29. svgファイルにホバー効果を追加する方法はありますか?
- 30. android.util.logにリスナーを追加する方法はありますか?
ありがとうございます。メインパネル内のペインを別のファイルに分割すると、どのようにペインを追加できますか? –