質問

Javafx 2.0のTableViewから選択を取得しようとしています。テーブルビューに5人(5列)を保存しました。選択モデルを取得するコードは次のとおりです。

TableView<Person> tableView =
myStage.getTableView();

ObservableList<Person> selection = 
tableView.getSelectionModel().getSelectedItems();

System.out.println(selection.size());

次に、複数の行を選択してから、上記のコードを含むメソッドを実行すると、以下が選択 * 2と場合によっては選択 *を印刷します。たとえば、5行すべてを選択し、10のサイズと15のサイズを印刷します。

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

役に立ちましたか?

解決

TableViewのバグがあり、Shift-Clickによって作成された選択のために重複したアイテムを返します。修正するまで回避策として、次のことでフィルターの複製アイテムを試すことができます。

Set<Person> selection = new HashSet<Person>(tableView.getSelectionModel().getSelectedItems());
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top