我正在尝试从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岁!
我在这里做错了什么?
答案 0 :(得分:3)
TableView存在一个错误,它返回重复的项目,以便通过shift-click进行选择。 作为解决方法,在修复之前,您可以尝试按以下方式过滤重复的项目:
Set<Person> selection = new HashSet<Person>(tableView.getSelectionModel().getSelectedItems());