gpt4 book ai didi

java - 访问 TabContent 的选项卡及其内容 JavaFX

转载 作者:行者123 更新时间:2023-12-02 03:08:51 25 4
gpt4 key购买 nike

我有一个关于 TabContent 的问题。所以我像这样动态创建选项卡:

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;

}

我的问题是,如何访问 newTabContent 节点。我尝试过这样的事情:

object.getTabPane().getTabs().get(0).getContent()

但这并没有返回带有所有属性的节点。

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

object.getTabPane().getTabs().get(0).getContent().getMyTextField().getText();

如果需要,我可以提供更多信息。

提前致谢!

最佳答案

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

//Here return the TextField
TextField tf = (TextField) tab.getContent();

就我个人而言,我会存储我的 TabsList<Tab> ,使用布局 ( Pane ) 作为我的其他 Nodes 的内容。以我的拙见,我认为这样更容易!

//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));

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

关于java - 访问 TabContent 的选项卡及其内容 JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41346431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com