6

fx:includeしたがって、JavaFX Scene Builder とどのように組み合わせて使用​​できるのか疑問に思っています。

BorderPane(ファイル)があるとしますborderpane.fxmlLabel中央のセクションには、別の FXML ファイルで定義されるa を入れたいと思いますlabel.fxml

これの最初の問題:label.fxmlはコンテナー (BorderPane) に統合されるため、それ自体は必要ありません。ただし、SceneBuilder は、コンテナーであるレイアウトを作成するオプションしか提供していませんか?

2 番目の問題: を手動で作成し、label.fxml手動で適応させborderpane.fxmlて を含めることができますlabel.fxml。その後、問題なく SceneBuilder を使用して borderpane.fxml ファイルをロードできます。ただし、ラベルのテキストを変更して「保存」を選択すると、label.fxmlが変更されるのではなく、次のborderpane.fxmlように変更されます。

# borderpane.fxml  
<fx:include source="label.fxml" text="the new label text" />

新しいラベル テキストは、現在行われているlabel.fxmlではなく に書き込まれる必要があります。borderpane.fxml

  • 私は何か間違ったことをしていますか?

  • SceneBuilder は fx:include と組み合わせて使用​​することを意図していませんか?

  • GUI の一部に個別のコントローラーが必要です。これは非常に論理的/正常であると思います。したがって、この実用的な使用シナリオは、SceneBuilder によって何らかの形でサポートされることを願っています。

4

2 に答える 2

1

シーンビルダーを使用して埋め込みFXMLコントロールにノードを追加する方法を知りません。

ただし、Javaコードを使用してこれを行うことができます。borderpane.fxmlが#setCentreというメソッドでコントローラーを定義してノードを追加した場合、borderpane.fxmlの親コントローラーにlabel.fxmlをロードし、定義したメソッドを使用してラベルを追加できます。

ただし、1つの質問ですが、簡単な例を示していますか、それとも実際にラベルと境界線ペインのFXMLファイルを作成していますか?もしそうなら、これは実際には、より大きなコントロールにコントロールを追加するよりも、プログラムをより複雑にするだろうと思います。

于 2013-02-10T17:17:52.203 に答える