ListView有一个名为的属性selectionModel,其中包含一个MultipleSelectionModel对象。此选择模型具有表示选择了哪些项目(如果有)的属性/列表。此选择模型有两种模式:
SINGLE:一次只能选择一项。MULTIPLE:一次可以选择任意数量的项目。您使用的选择模式可能很重要,但我并不乐观。对于单选,我会观察selectedItemorselectedIndex属性。对于多选,我会观察selectedItemsor selectedIndices ObservableList。(注意:虽然我并不乐观,但无论选择模式如何,我都希望任何一种方法都能工作)
// single selection mode
button.disableProperty()
.bind(listView.getSelectionModel().selectedItemProperty().isNull());
// multiple selection mode
button.disableProperty()
.bind(Bindings.isEmpty(listView.getSelectionModel().getSelectedItems()));
Run Code Online (Sandbox Code Playgroud)
第一个选项使用属性的isNull方法selectedItem。该方法返回一个BooleanBinding绑定 的disable属性Button。
第二个选项使用Bindings.isEmptywhich 创建一个BooleanBinding,true当ObservableList为空时。与第一个选项一样,该disable属性绑定到 this BooleanBinding。
| 归档时间: |
|
| 查看次数: |
1641 次 |
| 最近记录: |