是否可以分离JavaFXUI文件?

是否可以分离JavaFXUI文件?,java,eclipse,javafx,Java,Eclipse,Javafx,我正在用javafx创建一个应用程序,我想分离ui文件。 比如:选项卡在单独的文件中,只需在主应用程序中导入并创建新选项卡 我已经试过了,但是当我尝试在主应用程序上设置它时,比如borderPane.setCenter(tabPane)表示类型边框窗格中的方法setCenter(节点)不适用于参数(选项卡) Main.java应用程序代码 导入javafx.application.application; 导入javafx.scene.layout.*; 导入javafx.scene.paint

我正在用javafx创建一个应用程序,我想分离ui文件。 比如:选项卡在单独的文件中,只需在主应用程序中导入并创建新选项卡

我已经试过了,但是当我尝试在主应用程序上设置它时,比如
borderPane.setCenter(tabPane)表示类型边框窗格中的方法setCenter(节点)不适用于参数(选项卡)

Main.java应用程序代码

导入javafx.application.application;
导入javafx.scene.layout.*;
导入javafx.scene.paint.*;
导入javafx.scene.*;
导入javafx.stage.stage;
导入utils.Tabs;
公共类主扩展应用程序{
@凌驾
public void start(阶段窗口)引发异常{
组根=新组();
场景=新场景(根,400,250,颜色.白色);
BorderPane BorderPane=新的BorderPane();
制表符=新制表符();
//绑定以占用可用空间
borderPane.prefHeightProperty().bind(scene.heightProperty());
borderPane.prefWidthProperty().bind(scene.widthProperty());
边框窗格。设置中心(选项卡);
root.getChildren().add(边框窗格);
window.setTitle(“计算机安全-演示”);
window.setScene(场景);
window.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
Tabs.java

导入javafx.geometry.Pos;
导入javafx.scene.control.Label;
导入javafx.scene.control.Tab;
导入javafx.scene.control.TabPane;
导入javafx.scene.layout.HBox;
公共类选项卡扩展了选项卡窗格{
公共选项卡(){
TabPane TabPane=新建TabPane();
选项卡=新选项卡(“选项卡:”);
HBox HBox=新的HBox();
添加(新标签(“选项卡”);
hbox.设置校准(位置中心);
tab.设置内容(hbox);
tabPane.getTabs().add(tab);
}
}

您的
选项卡
类不是的子类。方法
setCenter()
的参数必须是
Node
@abra的子类,当我扩展
TabPane
时,没有错误,但同时,如果我扩展Node无法解决您的问题,GUI上不会显示任何内容,并发布确实编译的代码,这样我就可以复制并运行它,并尝试帮助您解决问题。使用
选项卡
扩展
选项卡
,您应该将每个
选项卡
添加到实例本身。您当前正在将它们添加到在构造函数中实例化的
TabPane
中,但不执行任何操作。一般规则(与您的问题无关):如果通过配置可以达到相同的目标,则不要扩展具体控件(如TabPane)-您的选项卡不添加任何功能,只进行配置。