我找到了各种解决方案,关于如何在TabPane中添加按钮或TabPane中的覆盖,但这并不能让我满意。
我想要的是在最右边的标签旁边有一个按钮,例如我的浏览器提供:
我现在尝试的不是使用此标签上的setGraph(Node)
添加按钮,而是添加了一个标签,如果选中它将被视为不同。
addTab = new Tab("+");
addTab.setClosable(false);
TabPane.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Tab>() {
@Override
public void changed(ObservableValue<? extends Tab> ov, Tab oldValue, Tab newValue) {
if (newValue == addTab) {
groupTabPane.getSelectionModel().select(oldValue);
DO_ADD_TAB();
}
}
});
为了保持最正确的选项卡我在Tablist上有一个监听器,并且如果修改了列表,则总是删除/添加它(也许这可以更优雅地完成)
然而,我面临的问题是,如果存在Tab,TabPane总是需要选择。因此,在启动时始终执行DO_ADD_TAB()
。我可以使用布尔变量来解决这个问题,但是选中了Tab,并且无法再次选择添加新的Tab。 TabPane.getSelectionModel().clearSelection()
不起作用。
有人可以建议如何更优雅地添加这样一个按钮,或者如果只有这一个Tab,如何使TabPane不接受选择?