JavaFX ListView Mehrere Auswahl

Wählen Sie mehrere Elemente aus der ListView. Es würde reagieren auf Maus klicken. Ich habe versucht mit diesem:

selectedLogsList.addAll(logsListView.getSelectionModel().getSelectedItems());

aber es war mir Duplikate.
Also versuchte ich Folgendes:

logsListView.getSelectionModel().selectedItemProperty().addListener(
        new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue<? extends String> ov, 
                String old_val, String new_val) {
                    if(selectedLogsList.contains(new_val)) {
                        selectedLogsList.remove(new_val);
                    } else {
                        selectedLogsList.add(new_val);
                    }
        }
    });

Möchte ich auch, dass, wenn eine Zelle ausgewählt ist, sollte als solche gekennzeichnet sein (andere Hintergrundfarbe)
Danke!

was genau wollen Sie erreichen? möchten Sie wissen, alle Elemente, die ausgewählt? Sie können Ihre ListView-multi-einstellbar durch : listView.getSelectionModel().setSelectionMode(SelectionMode.MEHRERE);
Ganz einfach 😀 Es funktionierte über Mehrfachauswahl mit gedrückter STRG-Taste. Aber es macht immer noch Duplikate. Wenn ich Sie mehrere Male auf derselben Zelle fügt es jedes mal. Stattdessen möchte ich es, um es zu entfernen zweite mal, dass ich klicken Sie auf.
Wenn Sie kopieren Sie den code unten meine Antwort es tut genau, was Sie wollen. Wenn Sie die Taste STRG können Sie mehrere Elemente hinzufügen und in der setOnMouseClicked () - Methode, erhalten Sie alle ausgewählten Elemente. Wenn Sie die Markierung eines Elements (immer noch durch drücken von STRG), wird es wieder rufen Sie die setOnMouseClicked()-Methode, aber dieses mal wird das Element nicht in der Liste.
Ich hab es jetzt. Ich war versucht etwas ähnliches, scheint aber ich wurde nicht irgendwo. Danke! 😀

InformationsquelleAutor Bade | 2014-06-11

Schreibe einen Kommentar