【发布时间】:2016-10-06 12:13:40
【问题描述】:
我想创建一个仅通过鼠标进行多选的 ListView(不按住 ctrl 或 shift)
点击一个项目应该选择这个项目。如果选择了其他项目,则将此新项目添加到选定列表中。之前选中此项目时,将其取消。
我不知道要保留所选项目。 selectionModel 上有一个名为“selectIndices()”的方法,它只接受一个或多个整数,而不是整数列表...
DataTypesLV.getSelectionModel().selectedItemProperty().addListener(new ChangeListener <String>() {
@Override
public void changed(ObservableValue<? extends String> arg0, String oldVal, String newVal) {
int idx = DataTypesLV.getItems().indexOf(newVal);
if(newVal.equals(oldVal)){
DataTypesLV.getSelectionModel().getSelectedIndices().remove(idx);
} else {
DataTypesLV.getSelectionModel().getSelectedIndices().add(idx);
}
}
});
有什么想法吗?
【问题讨论】:
-
javafx listview 已经保存了选定项目的列表,那么您在这里真正需要什么
-
我只想通过鼠标点击来多选项目。
标签: listview javafx multipleselection