mel*_*ldi 0 treeview javafx getselection java-8
我需要能够在树视图(其中有多个选择)中获取所有选定项目的更新列表。
此示例:javafx2 中的树项选择事件
显示如何一次响应/识别一个选定的项目。有没有办法一次获得所有选定的项目?类似于下面假设的非工作代码:
ArrayList<TreeItem> selectedTreeItems = new ArrayList<>();
myTreeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable, Object oldValue, Object newValue) {
selectedTreeItems.clear();//reset the list. correct?
//get a new list of children of the root
ObservableList objects = myTreeView.getRoot().getChildren();
//loop to get the selected items.
for (int i = 0; i < objects.size(); i++) {
TreeItem object = (TreeItem) objects.get(i);
if (thisObjectIsSelected(object)) {
selectedTreeItems.add(object);
}
}
}
});
privatevoid thisObjectIsSelected(TreeItem item){
//what do I do here?
}
Run Code Online (Sandbox Code Playgroud)
我不确定如何实现我想要的。任何帮助是极大的赞赏!
只需观察并参考选择模型的getSelectedItems()
列表:
myTreeView.getSelectionModel().getSelectedItems().addListener(new ListChangeListener<TreeItem>() {
@Override
public void onChanged(Change<? extends TreeItem> change) {
// myTreeView.getSelectionModel().getSelectedItems() contains all the selected items
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5170 次 |
最近记录: |