Domanda

Sto cercando di ottenere la selezione da una tabella in Javafx 2.0. Ho memorizzato 5 persone (5 righe) nella tabella. Il codice per ottenere il modello di selezione è:

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

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

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

Ora, quando seleziono più righe e quindi eseguo il metodo incluso il codice sopra, le seguenti stampano la selezione * 2 e talvolta la selezione * 3. Ad esempio: seleziono tutte e 5 le righe e stampa una dimensione di 10 e talvolta 15!

Cosa sto facendo di sbagliato qui?

È stato utile?

Soluzione

C'è un bug con tableview che restituisce elementi duplicati per la selezione effettuata da shift-click. Come soluzione alternativa fino a quando è possibile provare gli articoli duplicati a filtro da:

Set<Person> selection = new HashSet<Person>(tableView.getSelectionModel().getSelectedItems());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top