访问选项卡内容';s选项卡和it';s内容JavaFX

访问选项卡内容';s选项卡和it';s内容JavaFX,java,javafx,tabs,javafx-2,javafx-8,Java,Javafx,Tabs,Javafx 2,Javafx 8,我有一个关于内容的问题。 因此,我动态创建选项卡,如下所示: private Tab addNewTab(final TabPane tabPane, String newTabName, Node newTabContent, boolean isCloseable) { Tab newTab = new Tab(newTabName); newTab.setContent(newTabContent); newTab.setClosable(isCloseable);

我有一个关于内容的问题。 因此,我动态创建选项卡,如下所示:

private Tab addNewTab(final TabPane tabPane, String newTabName, Node newTabContent, boolean isCloseable) {
    Tab newTab = new Tab(newTabName);
    newTab.setContent(newTabContent);
    newTab.setClosable(isCloseable);

    newTab.setOnClosed(new EventHandler<Event>() {
        @Override
        public void handle(Event event) {
            if (tabPane.getTabs()
                    .size() == 2) {
                event.consume();
            }
        }
    });

    tabPane.getTabs().add(newTab);
    return newTab;

}
object.getTabPane().getTabs().get(0).getContent()
object.getTabPane().getTabs().get(0).getContent().getMyTextField().getText();
但这并没有返回包含所有属性的节点

例如,如果节点是另一个对象,我无法访问它的属性(按钮、字段等)。我想这样做:

private Tab addNewTab(final TabPane tabPane, String newTabName, Node newTabContent, boolean isCloseable) {
    Tab newTab = new Tab(newTabName);
    newTab.setContent(newTabContent);
    newTab.setClosable(isCloseable);

    newTab.setOnClosed(new EventHandler<Event>() {
        @Override
        public void handle(Event event) {
            if (tabPane.getTabs()
                    .size() == 2) {
                event.consume();
            }
        }
    });

    tabPane.getTabs().add(newTab);
    return newTab;

}
object.getTabPane().getTabs().get(0).getContent()
object.getTabPane().getTabs().get(0).getContent().getMyTextField().getText();
如果需要,我可以提供更多信息


提前谢谢

选项卡的逻辑是包含整个布局,在此布局中,您可以获得所需的节点,但对于
TextField

//Here return the TextField
TextField tf = (TextField) tab.getContent();
就我个人而言,我会将我的
选项卡
存储在
列表
中,并将布局(
窗格
)作为我其他
节点的内容
。依我的拙见,我认为这样比较容易

//Create dynamic tabs
List<Tab> tabs = new ArrayList<>();
Pane pane = new Pane();
TextField tf = new TextField("Hi");
pane.getChildren.add(tf);
tabs.add(addNewTab(tabPane, "Test", pane, true)); 
//创建动态选项卡
列表选项卡=新建ArrayList();
窗格=新窗格();
TextField tf=新的TextField(“Hi”);
pane.getChildren.add(tf);
tabs.add(addNewTab(tabPane,“Test”,pane,true));

注意:这并不意味着选项卡不能包含其他节点

选项卡的逻辑是包含整个布局,在此布局中,您可以获得所需的节点,但对于
TextField

//Here return the TextField
TextField tf = (TextField) tab.getContent();
就我个人而言,我会将我的
选项卡
存储在
列表
中,并将布局(
窗格
)作为我其他
节点的内容
。依我的拙见,我认为这样比较容易

//Create dynamic tabs
List<Tab> tabs = new ArrayList<>();
Pane pane = new Pane();
TextField tf = new TextField("Hi");
pane.getChildren.add(tf);
tabs.add(addNewTab(tabPane, "Test", pane, true)); 
//创建动态选项卡
列表选项卡=新建ArrayList();
窗格=新窗格();
TextField tf=新的TextField(“Hi”);
pane.getChildren.add(tf);
tabs.add(addNewTab(tabPane,“Test”,pane,true));

注意:这并不意味着选项卡不能包含其他节点

“但这不会返回节点”。我敢肯定是的。这是什么意思?“但这不会返回节点”。我敢肯定是的。你这是什么意思?