Zastanawiam się w jaki sposób można wykorzystać fx:include
w połączeniu z JavaFX Scene Builder, zatem:JavaFX Scene Builder i fx: include
Wyobraźmy mam BorderPane
(plik borderpane.fxml
). W środkowej sekcji chcę umieścić Label
, który jednak powinien być zdefiniowany w oddzielnym pliku FXML, np. label.fxml
.
Pierwszy problem z tym: Ponieważ label.fxml
zostanie zintegrowany z kontenerem (BorderPane), nie potrzebuje go sam. SceneBuilder oferuje jednak tylko opcję tworzenia układów będących kontenerem?
Drugi problem: Mogę stworzyć label.fxml
ręcznie, a następnie dostosować borderpane.fxml
ręcznie dołączyć label.fxml
. Następnie mogę załadować plik borderpane.fxml przy użyciu SceneBuilder bez żadnych problemów. Jednak kiedy już zmienić tekst etykiety i wybierz „Zapisz”, a nie label.fxml
jest modyfikowany, ale zamiast borderpane.fxml
jest modyfikowany tak:
# borderpane.fxml
<fx:include source="label.fxml" text="the new label text" />
Nowy tekst etykiety powinny być zapisywane label.fxml
, nie borderpane.fxml
, co jest obecnie zrobione.
Czy robię coś nie tak?
Czy SceneBuilder nie jest przeznaczony do używania w połączeniu z fx: include?
Potrzebuję oddzielnych kontrolerów dla części mojego GUI, myślę, że to jest całkiem logiczne/normalne, więc ten praktyczny scenariusz użycia ma nadzieję, że w jakiś sposób jest wspierany przez SceneBuilder?
Niezłe wyjaśnienie, ale jest jeden problem: jeśli umieścisz plik fxml, nie możesz go przeciągnąć do konstruktora scen, aby umieścić go w dowolnym miejscu aplikacji! – SlimenTN