diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java index a5bdcf711c96c84ed90f38d6fb791e0be6901d41..613a9d94df43e7b32f4669c4415ae3c3af33cf4a 100644 --- a/src/main/java/projekt/enigma/GuiController.java +++ b/src/main/java/projekt/enigma/GuiController.java @@ -1,6 +1,7 @@ package projekt.enigma; import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.concurrent.Task; import javafx.event.ActionEvent; @@ -22,6 +23,7 @@ import projekt.enigma.model.Fehler; import java.awt.*; import java.io.IOException; +import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -153,6 +155,26 @@ public class GuiController { // Die Gesteckten Buchstaben in der CheckComboBox selektieren ccb.getCheckModel().check(sb.toString().indexOf(this.codierer.fetchSteckverbindungen()[port][0])); ccb.getCheckModel().check(sb.toString().indexOf(this.codierer.fetchSteckverbindungen()[port][1])); + + ccb.getCheckModel().getCheckedItems().addListener(new ListChangeListener<Character>() { + + @Override + public void onChanged(Change<? extends Character> change) { + new Fehler().debug(ccb.getCheckModel().getCheckedItems().toString(), false); + + if (ccb.getCheckModel().getCheckedItems().size() > 2) { + while(change.next()) { + if(!change.wasAdded()) { + ccb.getCheckModel().clearCheck(ccb.getCheckModel().getItemIndex(change.toString().charAt(0))); + } else { + ccb.getCheckModel().check(change.getTo()); + } + } + new Fehler().debug(change.toString(), false); + + } + } + }); } /**