我正在尝试从 JavaFX 2.0 中的 TableView 中获取选择。我在 TableView 中存储了 5 个人(5 行)。获取选择模型的代码为:
TableView<Person> tableView =
myStage.getTableView();
ObservableList<Person> selection =
tableView.getSelectionModel().getSelectedItems();
System.out.println(selection.size());
现在,当我选择多行然后执行包含上述代码的方法时,下面打印选择 * 2,有时打印选择 * 3。例如:我选择所有 5 行,它打印出大小为 10 和有时 15!
我在这里做错了什么?
最佳答案
TableView 返回重复的项目以供通过按住 Shift 单击进行选择时存在错误。 作为修复之前的解决方法,您可以尝试通过以下方式过滤重复的项目:
Set<Person> selection = new HashSet<Person>(tableView.getSelectionModel().getSelectedItems());
关于java - 从 JavaFX 2.0 中的 TableView 读取多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397345/