Ich erstelle gerade ein Tool, um Berichte für verschiedene Vorfälle zu erstellen.JavaFX - Entfernen des ausgewählten Elements aus anderen Comboboxen
In einem ersten Schritt wählt der Benutzer jede Person, die Teil des Anrufs war (wir haben eine Besatzung von 26 Personen). Im nächsten Schritt wird jede ausgewählte Person in 6 verschiedene Comboboxen geschrieben, so dass der Benutzer den Fahrer und den Kommandanten jedes Fahrzeugs auswählen kann (3 Fahrzeuge - Kommandant und Fahrer auf jedem Fahrzeug, also 6 Comboboxen).
Mein Problem ist: Ich muss verhindern, dass die gleiche Person wie Fahrer auf jedes Fahrzeug oder als Fahrer Kommandant und zur gleichen Zeit ausgewählt ist. Also habe ich versucht, die ausgewählte Person aus jedem anderen Combobox über einen Change zu entfernen:
(ein Change für jeden Combobox, hier ein Beispiel)
inputDriverTruck42.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue ov, Object t, Object t1) {
String toRemove = inputDriverTruck42.getSelectionModel().getSelectedItem();
inputDriverCar19.getItems().remove(toRemove);
inputDriverTruck33.getItems().remove(toRemove);
inputCommanderCar19.getItems().remove(toRemove);
inputCommanderTruck42.getItems().remove(toRemove);
inputCommanderTruck33.getItems().remove(toRemove);
}
});
Das funktioniert gut, so weit, aber wenn der Benutzer ändert seine Auswahl Für die erste Combobox ist der zuvor entfernte Artikel offensichtlich in jeder anderen Combobox verschwunden. Auch wenn der Benutzer jede Person in der ersten Combobox nacheinander auswählt, wird jede andere Combobox nach einer Weile leer sein.
Also muss ich irgendwie die Boxen basierend auf dem ausgewählten Element jeder Combobox nachfüllen, ohne das aktuell ausgewählte Element zu verlieren oder das ausgewählte Element wieder in die Liste aufzunehmen.
Jede Hilfe wird geschätzt! Danke im Voraus.