diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
index f99efa493b2322f4ccdb81d8f5fd86e186a350b4..f9071051719f976bffc3422a08663437fb106ea5 100644
--- a/src/main/java/projekt/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -1,5 +1,7 @@
 package projekt.enigma;
 
+import javafx.beans.value.ChangeListener;
+import javafx.beans.value.ObservableValue;
 import javafx.concurrent.Task;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
@@ -35,6 +37,7 @@ public class GuiController {
     private boolean resetDisplay;
     private Codierer codierer;
 
+
     private enum BUCHSTABE_LEUCHTET {AN, AUS}
 
     @FXML
@@ -70,7 +73,7 @@ public class GuiController {
             tfStecker9, tfStecker10, tfCodiert, tfKlartext;
     //deklariert benötigtes pane
     @FXML
-    private Pane portPane;
+    private Pane portPane0, portPane1, portPane2, portPane3, portPane4, portPane5, portPane6, portPane7, portPane8, portPane9;
     //deklariert benötigtes GridPane
     @FXML
     private GridPane mainGrid;
@@ -90,7 +93,7 @@ public class GuiController {
         textEingabe = "";
         textCodiert = "";
         resetDisplay = true;
-        lblKenngruppe.setText(this.codierer.getKenngruppe());
+
 
         //Einträge für Walzen
         menu(mBtnWalzPos1, walzenNr);
@@ -180,24 +183,79 @@ public class GuiController {
         }
     }
 
+    private void switchPortVisible(int port, boolean status) {
+        switch (port) {
+            case 0:
+                portPane0.setVisible(status);
+                break;
+            case 1:
+                portPane1.setVisible(status);
+                break;
+            case 2:
+                portPane2.setVisible(status);
+                break;
+            case 3:
+                portPane3.setVisible(status);
+                break;
+            case 4:
+                portPane4.setVisible(status);
+                break;
+            case 5:
+                portPane5.setVisible(status);
+                break;
+            case 6:
+                portPane6.setVisible(status);
+                break;
+            case 7:
+                portPane7.setVisible(status);
+                break;
+            case 8:
+                portPane8.setVisible(status);
+                break;
+            case 9:
+                portPane9.setVisible(status);
+                break;
+            default:
+
+                break;
+        }
+    }
+
     /**
      * TODO
      *
      * @param countOfBtn
      */
     private void myToggleButtons(int countOfBtn) {
-
         final ToggleGroup cabelConnect = new ToggleGroup();
-
         tBtnPort = new ToggleButton[countOfBtn];
         for (int i = 0; i < countOfBtn; i++) {
+            switchPortVisible(i, false);
             tBtnPort[i] = new ToggleButton(i + "Port");
             tBtnPort[i].setAlignment(Pos.CENTER_RIGHT);
             tBtnPort[i].setToggleGroup(cabelConnect);
-            if (i == 0) tBtnPort[0].setSelected(true);
-
+            //if (i == 0) tBtnPort[0].setSelected(true);
+            /*            tBtnPort[i].setOnAction(event -> {
+             *//* portPane[].setVisible(false);*//*
+            });*/
             mainGrid.setMargin(tBtnPort[i], new Insets(0, 15, 0, 15));
             mainGrid.add(tBtnPort[i], i + 1, 8);
+            cabelConnect.selectedToggleProperty().
+                    addListener(new ChangeListener<Toggle>() {
+                        @Override
+                        public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) {
+                            //TODO
+                            for (int j = 0; j < 10; j++) {
+                                if (cabelConnect.getSelectedToggle() == tBtnPort[j]) {
+                                    switchPortVisible(j, true);
+                                } else if (cabelConnect.getSelectedToggle() != tBtnPort[j]) {
+                                    /* if (cabelConnect.getSelectedToggle() == tBtnPort[i]) {*/
+                                    switchPortVisible(j, false);
+                                    /* }*/
+                                }
+                            }
+                        }
+                    });
         }
     }
 
@@ -382,29 +440,6 @@ public class GuiController {
             this.resetDisplay = true;
             this.setzeTagesSchluessel();
         }
-     /*   if (e.getSource() == btnPort0) {
-            //TODO
-            //VBox vbox = new VBox();
-        }
-        if (e.getSource() == btnPort1) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort2) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort3) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort4) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort5) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort6) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort7) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort8) {
-        }//TODO pane0 anzeigen
-        if (e.getSource() == btnPort9) {
-        }//TODO pane0 anzeigen*/
-
     }
 
     //endregion
@@ -831,27 +866,6 @@ public class GuiController {
         setzeSteckverbindungen();
         // Setzt das Steckbrett
         generateSteckbrett();
-
-/*        btnPort0.setText(codierer.fetchSteckverbindungen()[0][0] + "" +
-                codierer.fetchSteckverbindungen()[0][1]);
-        btnPort1.setText(codierer.fetchSteckverbindungen()[1][0] + "" +
-                codierer.fetchSteckverbindungen()[1][1]);
-        btnPort2.setText(codierer.fetchSteckverbindungen()[2][0] + "" +
-                codierer.fetchSteckverbindungen()[2][1]);
-        btnPort3.setText(codierer.fetchSteckverbindungen()[3][0] + "" +
-                codierer.fetchSteckverbindungen()[3][1]);
-        btnPort4.setText(codierer.fetchSteckverbindungen()[4][0] + "" +
-                codierer.fetchSteckverbindungen()[4][1]);
-        btnPort5.setText(codierer.fetchSteckverbindungen()[5][0] + "" +
-                codierer.fetchSteckverbindungen()[5][1]);
-        btnPort6.setText(codierer.fetchSteckverbindungen()[6][0] + "" +
-                codierer.fetchSteckverbindungen()[6][1]);
-        btnPort7.setText(codierer.fetchSteckverbindungen()[7][0] + "" +
-                codierer.fetchSteckverbindungen()[7][1]);
-        btnPort8.setText(codierer.fetchSteckverbindungen()[8][0] + "" +
-                codierer.fetchSteckverbindungen()[8][1]);
-        btnPort9.setText(codierer.fetchSteckverbindungen()[9][0] + "" +
-                codierer.fetchSteckverbindungen()[9][1]);*/
         this.textCodiert = "";
         this.textEingabe = "";
         this.tfKlartext.setText("");
@@ -869,7 +883,8 @@ public class GuiController {
         codierer = new Codierer(kenngruppe);
 
         this.codierer.resetHardware();
-
+        //Setzt die Kenngruppe in der GUI
+        lblKenngruppe.setText(this.codierer.getKenngruppe());
         // Beim nächsten Tastendruck erstmal das Display löschen damit falschen Nachrichten geschickt werden.
         resetDisplay = true;