检查关闭JAVAFX时TabPane中是否没有选项卡
我尝试了几种方法:检查关闭JAVAFX时TabPane中是否没有选项卡,javafx,Javafx,我尝试了几种方法: tabPane.getSelectionModel().selectedItemProperty().addListener((e, o, n) if (tabPane.getTabs().isEmpty()) someButton.setDisable(false); 创建选项卡时,请执行以下操作: tab.setOnCloseRequest(e -> if (tabPane.getTabs().isEmpty())
tabPane.getSelectionModel().selectedItemProperty().addListener((e, o, n)
if (tabPane.getTabs().isEmpty()) someButton.setDisable(false);
创建选项卡时,请执行以下操作:
tab.setOnCloseRequest(e ->
if (tabPane.getTabs().isEmpty()) someButton.setDisable(false);
但两者都不起作用。第二种方法显然是错误的,因为它在实际关闭选项卡之前检查是否有选项卡。有什么解决办法吗?非常感谢在TabPane
可观察列表
上创建isNotEmpty BooleanBinding
在选项卡窗格上创建
isNotEmpty BooleanBinding
我不确定下面的内容是否是您想要的,但您可以在tabpane中检查匹配选项卡列表的大小{ TabPane TabPane=tab.getTabPane();
if(tabPane.getTabs().size()我不确定下面的是否是您想要的,但是您可以检查tabPane中匹配的选项卡列表的大小{ TabPane TabPane=tab.getTabPane(); if(tabPane.getTabs().size())
TabPane tp = new TabPane(new Tab("A"),new Tab("B"));
final BooleanBinding empty = Bindings.isNotEmpty(tp.getTabs());
Button someButton = new Button();
someButton.disableProperty().bind(empty);
tab.setOnCloseRequest(event -> {
TabPane tabPane = tab.getTabPane();
if (tabPane.getTabs().size() <= 1) {
// don't allow the last tab to be closed.
event.consume();
return;
}
});