我有TableView
,我想将Button
的禁用属性与表格的ObservableList
模型的大小绑定。特别是,当ObservableList
的大小大于2时,我想禁用该按钮。
我怎样才能实现这一目标?
要在表中使用
表中未选择任何行时禁用其他按钮editRoadButton.disableProperty().bind(roadsTable.getSelectionModel().selectedItemProperty().isNull());
有类似的方法吗?
答案 0 :(得分:18)
Bindings类中有有用绑定的工厂方法。在你的情况下f.i。:
button.disableProperty().bind(Bindings.size(items).greaterThan(2));
答案 1 :(得分:2)
你可以做那样的事情
ListProperty<String> list = new SimpleListProperty<>(FXCollections.<String>emptyObservableList());
Button foo = new Button();
foo.disableProperty().bind(new BooleanBinding() {
{
bind(list);
}
@Override
protected boolean computeValue() {
return list.size() > 2;
}
});