在打开的标签页中显示AnchorPane

时间:2019-03-14 12:35:48

标签: java javafx tabs

我基本上是JavaFX的新手,我开始了其中的第一个项目。首先,我想确保您已阅读以下链接的文章:

JavaFx TabPane : One controller per Tab JavaFX Pane inside of a Tab

我知道如何将Pane直接放入选项卡,但是我想要的是让TabPane中Tabs中每个内容的每个Controller。

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的中心,这是一个主窗口。

我尝试为该选项卡构建新的Scene并将其与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文件和新Controller关联的不同选项卡中。我试图避免使用此处描述的嵌套控制器选项:Nested Controllers

0 个答案:

没有答案