Javafx在点击时添加带有fxml的新选项卡

use*_*658 1 java javafx javafx-2 javafx-8

我正在尝试添加一个带有fxml的新选项卡

我正在尝试这段代码:

Tab sd=new Tab("Customeradd");
sd.setContent(Source.sourceFor("","Customeradd.fxml"));
tabpanel.getTabs().add(sd);
Run Code Online (Sandbox Code Playgroud)

我在网上得到语法错误 sd.setContent(Source.sourceFor("","Customeradd.fxml"));,tabpanel是我的TabPane.

错误看起来像

在此输入图像描述

请帮帮我

Ren*_*ato 6

假设你在与你要加载它的类相同的目录中有一个FXML,你应该做这样的事情(如果你的FXML定义了一个TabPane):

 TabPane pane = FXMLLoader.load(this.getClass().getResource("SomeWidget.fxml"));
Run Code Online (Sandbox Code Playgroud)

现在,假设您在MyTab.fxml文件中有一个很好的Tab:

pane.getTabs().addAll((Tab)FXMLLoader.load(this.getClass().getResource("MyTab.fxml")));
Run Code Online (Sandbox Code Playgroud)

真的很容易!

  • 如果您的FXML中有AchorPane,请执行``AnchorPane anchorPane = FXMLLoader ...``然后执行``tab.setContent(anchorPane)``. (3认同)