java - 从 JavaFX 2.0 中的 TableView 读取多项选择

标签 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!

我在这里做错了什么?

最佳答案

TableView 返回重复的项目以供通过按住 Shift 单击进行选择时存在错误。 作为修复之前的解决方法,您可以尝试通过以下方式过滤重复的项目:

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

关于java - 从 JavaFX 2.0 中的 TableView 读取多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397345/

相关文章:

Javafx,将 TableView 与数据库结合使用

java - ListSelectionModel - getMinSelectionIndex() 错误地返回 -1

java - 单击字段顶部时 JTextField 插入符号定位在开始处

java - 如何在 Java Swing 中同步两个 View

Java 枚举和嵌套类

exception - JavaFX 和外部 JAR

java - 语法错误,在java中插入 "EnumBody"和 "enum Identifier"

listview - JavaFX 2 中的多列(包装)ListView

java - 使用存储在堆栈中的对象的方法 (javafx)

java - 如何删除 jtable 中的所有行?