javafx在“新建”选项卡中动态打开新的fxml文件

javafx在“新建”选项卡中动态打开新的fxml文件,java,tabs,javafx,javafx-2,javafx-8,Java,Tabs,Javafx,Javafx 2,Javafx 8,我正在创建一个javafx程序,在该程序中,我需要在“新建”选项卡中动态打开一个新的fxml文件 我希望当用户单击按钮时,会打开一个新选项卡,其中包含新的fxml文件 我不知道我可以根据设计添加尽可能多的选项卡,但我想在用户单击按钮时动态添加,然后只打开一个新选项卡 我也见过,但不是为我工作。 请帮帮我 谢谢。您可以使用动态添加选项卡 myTabPane.getTabs().add(myNewTab); 使用new Tab()创建一个新选项卡,加载FXML并调用 myNewTab.setCon

我正在创建一个javafx程序,在该程序中,我需要在“新建”选项卡中动态打开一个新的fxml文件

我希望当用户单击
按钮时,会打开一个新选项卡,其中包含
新的fxml文件

我不知道我可以根据设计添加尽可能多的选项卡,但我想在用户单击
按钮时动态添加
,然后只打开一个新选项卡

我也见过,但不是为我工作。 请帮帮我


谢谢。

您可以使用动态添加选项卡

myTabPane.getTabs().add(myNewTab);
使用
new Tab()
创建一个新选项卡,加载FXML并调用

myNewTab.setContent(loadedFxmlRoot);

您可以使用此代码添加选项卡,您需要确认tabPane是否有此选项卡,否则您的程序将调用SizeOfBounds异常

if (!MessagePane.getTabs().contains(AllMessageTab)) {
    MessagePane.getTabs().add(AllMessageTab);
}
SingleSelectionModel<Tab> selectionModel = MessagePane.getSelectionModel();
selectionModel.select(AllMessageTab);        
AllMessageTab.setContent(_YourContentNodeHere);
if(!MessagePane.getTabs()包含(AllMessageTab)){
MessagePane.getTabs().add(AllMessageTab);
}
SingleSelectionModel selectionModel=MessagePane.getSelectionModel();
选择模型。选择(所有消息选项卡);
AllMessageTab.setContent(_YourContentNodeHere);

这就是我在“动态添加选项卡”主题中所追求的简单性,但您能否提供一个包含更多细节和操作顺序的示例?例如,您说“使用new Tab()创建一个新选项卡”,但这是这样做的:Tab newTab=new Tab();那么.add(newTab)中是否使用了该选项行??我认为一个有效的例子会为我澄清一切。我会非常感激。MikeIt看起来这就是我要找的例子……我会在接下来的一个小时左右根据需要更新我的评论。