使用JavaFX2我有这段代码:
FXMLLoader loader = new FXMLLoader(App.class.getResource("App.fxml"));
TabPane tabPane = (TabPane) loader.getNamespace().get("tabPane");
Tab tab = (Tab) loader.getNamespace().get("closeAllTab");
现在,我希望在tab
少于3个标签(标签可以关闭)时禁用tabPane
。我需要这样的绑定:
tab.disableProperty().bind(tabPane.disableProperty());
但是,当然,我需要评估tabPane.getTabs().size()
。怎么做?
答案 0 :(得分:0)
您应该考虑使用ObservableList
绑定:
tabPane.getTabs().addListener(new ListChangeListener() {
public void onChanged(ListChangeListener.Change<? extends E> c) {
tabPane.setDisabled(tabPane.getSize() < 3);
}
});
Java 8表单:
tabPane.getTabe().addListener(e -> tabPane.setDisabled(tabPane.getSize() < 3));