私はシーンビルダを使用してGUIを構築しています。私のシーンの大部分には共通の要素が1つあります(iOSタイプのホームボタンが下部にあります)。 このコンポーネントを別のfxmlファイルで定義することが可能かどうかは疑問でした。私が行った研究から、再利用可能なコンポーネントを宣言するための同じプロセスが存在しますが、同じfxmlファイル内にのみ存在します。 この原則をいくつかのfxmlファイルにどのように適用できますか?JavaFX - 再利用可能なFXMLコンポーネント
4
A
答えて
0
これは間違いなく別のFXMLファイルを作成して、それに既知の固有のIDを持つノードを追加して、そのノードをIDでアクセスすることで実現できます。難しい部分はどのようにアプリケーション全体をやっていますか?おそらく多くのコントローラで同じ機能を作成していますが、ここでFXMLファイルからボタンを取得する方法があります。
すべてのボタンは同じ動作をしていますか?
Parent root = FXMLLoader.load(getClass().getResource("fileName.fxml"));
ObservableList<Node> nodes = root.getChildrenUnmodifiable();
String _id = "testButton";
for (Node node : nodes) {
if (node.getId().equals(_id)) {
return node;
}
}
return null;
}
2
あなたはこのように行うことができます。
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.example.MainController">
<children>
<fx:include fx:id="someId" source="NestedFXML.fxml"/>
</children>
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.example.NestedFXMLController">
</AnchorPane>
コントローラクラス:
public class MainController implements Initializable {
@FXML
private NestedFXMLController someIdController;
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
}
}
public class NestedFXMLController implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
}
}
ニース:ネストされたコントローラは、FXML注釈を介して注入することができます。 フィールド名は、fx:id属性文字列+ "Controller"と一致する必要があります。
関連する問題
- 1. 再利用可能なコンポーネント
- 2. リストビュー再利用可能なコンポーネント - アーキテクチャ - アンドロイド
- 3. SpringMVCで再利用可能なコンポーネント
- 4. Silexの再利用可能なコンポーネント
- 5. Java再利用generic FXML
- 6. 再利用可能なプリプロセッサ__COUNTER__
- 7. 再利用可能な、
- 8. 再利用可能なコントロール
- 9. 再利用可能なコンポーネントを定義する
- 10. Angular2再利用可能なコンポーネントの追加と編集
- 11. データを待つ再利用可能なコンポーネント
- 12. KnockoutJSで再利用可能なコンポーネントを作成する
- 13. Ionic2でカスタム再利用可能なアラート(またはモーダル)コンポーネント
- 14. 再利用可能なWicketコンポーネントを構築する
- 15. JSの再利用可能なコンポーネントとは何ですか?
- 16. 角度2で再利用可能なコンポーネントを作成
- 17. Golangテストの再利用可能なコンポーネントとフィクスチャ
- 18. 作るreactjsで再利用可能なコンポーネント
- 19. simpleSchemaで再利用可能なコンポーネントを作成する方法
- 20. はネイティブリアクト:再利用可能なコンポーネントのthis.stateは
- 21. 再利用可能なコンポーネントをカスタムメソッドで構築する
- 22. FXMLで再利用可能なコントローラ。 1つのコントローラ(多少変更された)複数のfxmlファイルの場合
- 23. 利用可能なJSF MVCコンポーネント
- 24. JavaFXテーブルビューセル再利用
- 25. javafxのリサイクルビューや再利用可能なビューのようなもの
- 26. 常時使用できる再利用可能なコンポーネントを何度再利用しましたか?
- 27. Django再利用可能マーケットプレイス
- 28. 複数の機能と再利用不可能なコンポーネントを持つDrupal
- 29. 再利用可能コンポーネントのredux-form検証
- 30. 再利用可能なDropDownListの内容
BorderPaneを使用すると、ボタンが下部に表示され、fxmlファイルの中央だけが変更されます。 – GOXR3PLUS
シンプルで効果的!ありがとう、私はこれについて考えなかった。 –