Я в основном новичок в JavaFX, и я начал свой первый проект в нем.Прежде всего, я хочу убедиться, что я прочитал статьи, ссылки на которые приведены ниже:
Панель JavaFx: один контроллер на вкладку Панель JavaFX внутри вкладки
Я знаю, как поместить панель непосредственно во вкладку, но я хочу, чтобы каждый контроллер для каждого содержимого внутри вкладок в моей панели вкладок был
Main.fxml
<center>
<TabPane fx:id="mainTabPane">
<tabs>
<Tab fx:id="tabChar" closable="false" text="Character" onSelectionChanged="#showCharacterTab"/>
<Tab fx:id="tabSkills" closable="false" text="Skills" />
<Tab fx:id="tabMagic" closable="false" text="Magic" />
<Tab fx:id="tabStory" closable="false" text="Story" />
<Tab fx:id="tabPortrait" closable="false" text="Portrait" />
<Tab fx:id="tabDatabase" closable="false" text="Char-Base" />
</tabs>
</TabPane>
</center>
Что я должен упомянуть, что моя TabPane расположена в центре BorderPane, который является главным окном.
Я попытался создать новую сцену для этой вкладки и связать ее с помощью метода showCharacterTab,но на данный момент я закончил с этим:
@FXML
private Tab tabChar;
@FXML
public void showCharacterTab() throws IOException{
if (tabChar.isSelected()) {
AnchorPane characterPane = FXMLLoader.load(getClass().getResource("character.fxml"));
tabChar.setContent(characterPane.getParent());
}
}
И сейчас я совершенно не знаю, как это сделать.Я новичок, и я, вероятно, начал с слишком большого количества контента.Я не знаю, должен ли я поместить его в метод initialize (), чтобы он был виден при запуске, и я не знаю, правильно ли я использую метод onSelectionChanged.
Итак, подведем итог: я хочу сделатькаждый контент на разных вкладках связан с новым файлом FXML и новым контроллером.Я попытался сделать это, избегая опцию «Вложенные контроллеры», описанную здесь: Вложенные контроллеры