Leggi la selezione multipla da TableView in Javafx 2.0
-
28-10-2019 - |
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?
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