1

JavaFX2.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になります。

私はここで何が間違っているのですか?

4

1 に答える 1

3

TableViewがShiftキーを押しながらクリックして選択した重複アイテムを返すというバグがあります。修正するまでの回避策として、次の方法で重複アイテムをフィルタリングしてみてください。

Set<Person> selection = new HashSet<Person>(tableView.getSelectionModel().getSelectedItems());
于 2011-12-06T15:21:44.387 に答える