从JavaFX 2.0中的TableView中读取多个选择

时间:2011-12-06 08:58:29

标签: java javafx-2 selectionmodel

我正在尝试从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岁!

我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

TableView存在一个错误,它返回重复的项目,以便通过shift-click进行选择。 作为解决方法,在修复之前,您可以尝试按以下方式过滤重复的项目:

Set<Person> selection = new HashSet<Person>(tableView.getSelectionModel().getSelectedItems());