diff --git a/doc/Klassendiagram.jpg b/doc/Klassendiagram.jpg
deleted file mode 100644
index 8fda25585881f04698ccc97e883cb81b3f514ed4..0000000000000000000000000000000000000000
Binary files a/doc/Klassendiagram.jpg and /dev/null differ
diff --git a/src/main/java/projekt/enigma/App.java b/src/main/java/projekt/enigma/App.java
index deb306047c49a9fb81bebcaecca971b2d5644d51..c27ee29ac49dfedeac1420b4de7a53e15f871771 100644
--- a/src/main/java/projekt/enigma/App.java
+++ b/src/main/java/projekt/enigma/App.java
@@ -4,7 +4,9 @@ import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
 import javafx.geometry.Insets;
 import javafx.scene.Scene;
-import javafx.scene.control.*;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
 import javafx.scene.input.KeyCode;
 import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
@@ -128,54 +130,4 @@ public class App extends Application {
         return result;
     }
 
-//	/**
-//	 * TODO Dokumentieren
-//	 */
-//	private static Scene scene;
-//	/**
-//	 * TODO Dokumentieren
-//	 *
-//	 * @param fxml
-//	 * @throws IOException
-//	 */
-//	static void setRoot(String fxml) throws IOException {
-//		scene.setRoot(loadFXML(fxml));
-//
-//	}
-//
-//	/**
-//	 * TODO Dokumentieren
-//	 *
-//	 * @param fxml
-//	 * @return
-//	 * @throws IOException
-//	 */
-//	private static Parent loadFXML(String fxml) throws IOException {
-//		FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxml + ".fxml"));
-//		return fxmlLoader.load();
-//	}
-//
-//	/**
-//	 * TODO Dokumentieren
-//	 *
-//	 * @param args
-//	 */
-//	public static void main(String[] args) {
-//		Application.launch();
-//	}
-//
-//	/**
-//	 * TODO Dokumentieren
-//	 *
-//	 * @param stage
-//	 * @throws IOException
-//	 */
-//	@Override
-//	public void start(Stage stage) throws IOException {
-//		scene = new Scene(loadFXML("kenngruppe"));
-//		stage.setScene(scene);
-//		stage.setResizable(true);
-//		stage.show();
-//	}
-
 }
diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
index f9071051719f976bffc3422a08663437fb106ea5..05b30eaefd2a1fd6fcaf3cbaad5ab471fc1c4238 100644
--- a/src/main/java/projekt/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -1,7 +1,5 @@
 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;
@@ -23,72 +21,62 @@ import java.util.ArrayList;
 import java.util.Arrays;
 
 public class GuiController {
-    //region Klassenvariablen
 
+    //region Klassenvariablen
     private final static String[] walzenNr = {"I", "II", "III", "IV", "V"};
     private final static String[] ringNr = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26"};
     private final static String[] position = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
     private String[] empfangeneNachricht;
-    private static final String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
     private String textEingabe;
     private String textCodiert;
     private char chiffrierterBuchstabe;
-    private ArrayList<MenuItem> mItem;
     private boolean resetDisplay;
     private Codierer codierer;
-
-
     private enum BUCHSTABE_LEUCHTET {AN, AUS}
 
     @FXML
     private static ToggleButton[] tBtnPort;
-
-//endregion
+    //endregion
 
     //region GUI-Elemente
     //deklariert die benötigten Buttons
     @FXML
     private Button btnA, btnB, btnC, btnD, btnE, btnF, btnG, btnH, btnI, btnJ, btnK, btnL, btnM, btnN, btnO, btnP, btnQ,
-            btnR, btnS, btnT, btnU, btnV, btnW, btnX, btnY, btnZ, btnSenden, btnEmpfangen, btnDelete, btnReset,
-            btnPort0, btnPort1, btnPort2, btnPort3, btnPort4, btnPort5, btnPort6, btnPort7, btnPort8, btnPort9;
+            btnR, btnS, btnT, btnU, btnV, btnW, btnX, btnY, btnZ, btnSenden, btnEmpfangen, btnDelete, btnReset;
+
     //deklariert die benötigten Kreise
     @FXML
     private Circle circA, circB, circC, circD, circE, circF, circG, circH, circI, circJ, circK, circL, circM, circN,
             circO, circP, circQ, circR, circS, circT, circU, circV, circW, circX, circY, circZ;
+
     //deklariert die benötigten Label
     @FXML
-    private Label lblA, lblB, lblC, lblD, lblE, lblF, lblG, lblH, lblI, lblJ, lblK, lblL, lblM, lblN, lblO, lblP, lblQ,
-            lblR, lblS, lblT, lblU, lblV, lblW, lblX, lblY, lblZ, lblLadeNachricht, lblTagesschluessel,
-            lblSpruchschluessel, lblKenngruppe;
-    //deklariert die ProgressBar
-    @FXML
-    private ProgressBar pbLadeNachricht;
+    private Label lblSpruchschluessel, lblKenngruppe;
+
     //deklariert die MenueButtons
     @FXML
     private MenuButton mBtnWalzPos1, mBtnWalzPos2, mBtnWalzPos3, mBtnNotchPos1, mBtnNotchPos2, mBtnNotchPos3,
             mBtnStartPos1, mBtnStartPos2, mBtnStartPos3;
+
     //deklariert die benötigten Textfelder
     @FXML
-    private TextField tfStecker1, tfStecker2, tfStecker3, tfStecker4, tfStecker5, tfStecker6, tfStecker7, tfStecker8,
-            tfStecker9, tfStecker10, tfCodiert, tfKlartext;
+    private TextField tfCodiert, tfKlartext;
+
     //deklariert benötigtes pane
     @FXML
     private Pane portPane0, portPane1, portPane2, portPane3, portPane4, portPane5, portPane6, portPane7, portPane8, portPane9;
+
     //deklariert benötigtes GridPane
     @FXML
     private GridPane mainGrid;
-
-
-//endregion
+    //endregion
 
     //region Init
-
     /**
      * Initialisiert die Elemente GUI und setzt deren Startwerte
      */
     @FXML
     void initialize() {
-
         // Variablen setzen
         textEingabe = "";
         textCodiert = "";
@@ -111,7 +99,7 @@ public class GuiController {
         menu(mBtnStartPos2, position);
 
 
-        myToggleButtons(10);
+        myToggleButtons();
     }
 
 
@@ -120,7 +108,6 @@ public class GuiController {
      * Hier wird die Funktion zum erstellen und Befüllen der Boxen, die Funktion zehn mal aufgerufen.
      */
     private void generateSteckbrett() {
-
         for (int i = 0; i <= 9; i++) {
             this.createSteckbrettPort(i);
         }
@@ -134,7 +121,6 @@ public class GuiController {
      * @param port : int : Kabel Nummer (0-9)
      */
     private void createSteckbrettPort(int port) {
-
         // Holt die verfügbaren Buchstaben für diesen Port ab und erstellt ein char Array daraus
         char[] verfuegbareBuchstaben = this.codierer.fetchVerfuegbareBuchstaben(port).toCharArray();
 
@@ -168,8 +154,7 @@ public class GuiController {
      * @param button : Button für die die Einträge erstellt werden sollen
      */
     private void menu(MenuButton button, String[] str) {
-
-        mItem = new ArrayList<>();
+        ArrayList<MenuItem> mItem = new ArrayList<>();
 
         for (int i = 0; i < str.length; i++) {
             //Eintrag aus str der Arraylist mi hinzufügen
@@ -178,11 +163,16 @@ public class GuiController {
             button.getItems().add(mItem.get(i));
             int finalI = i;
             //Listener für die einzelnen Einträge
-            ArrayList<MenuItem> finalMi = mItem;
-            mItem.get(i).setOnAction(e -> setMenuBtnText(button, finalMi.get(finalI)));
+            mItem.get(i).setOnAction(e -> setMenuBtnText(button, mItem.get(finalI)));
         }
     }
 
+    /**
+     * TODO: Doku
+     *
+     * @param port : int : Port zu dem das Panel geändert werden soll
+     * @param status : aktivieren/deaktivieren
+     */
     private void switchPortVisible(int port, boolean status) {
         switch (port) {
             case 0:
@@ -222,47 +212,34 @@ public class GuiController {
     }
 
     /**
-     * TODO
-     *
-     * @param countOfBtn
+     * TODO: Doku
      */
-    private void myToggleButtons(int countOfBtn) {
+    private void myToggleButtons() {
         final ToggleGroup cabelConnect = new ToggleGroup();
-        tBtnPort = new ToggleButton[countOfBtn];
-        for (int i = 0; i < countOfBtn; i++) {
-            switchPortVisible(i, false);
+        tBtnPort = new ToggleButton[10];
+        for (int i = 0; i < 10; i++) {
             tBtnPort[i] = new ToggleButton(i + "Port");
             tBtnPort[i].setAlignment(Pos.CENTER_RIGHT);
             tBtnPort[i].setToggleGroup(cabelConnect);
-            //if (i == 0) tBtnPort[0].setSelected(true);
-            /*            tBtnPort[i].setOnAction(event -> {
-             *//* portPane[].setVisible(false);*//*
-            });*/
-            mainGrid.setMargin(tBtnPort[i], new Insets(0, 15, 0, 15));
+            GridPane.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);
-                                    /* }*/
-                                }
+                    addListener((observable, oldValue, newValue) -> {
+                        //TODO
+                        for (int j = 0; j < 10; j++) {
+                            if (cabelConnect.getSelectedToggle() == tBtnPort[j]) {
+                                switchPortVisible(j, true);
+                            } else if (cabelConnect.getSelectedToggle() != tBtnPort[j]) {
+                                switchPortVisible(j, false);
                             }
                         }
                     });
         }
     }
-
     //endregion
 
     //region EventHandler/Listener
-
     /**
      * Wird ausgelöst wenn der gedrückte Button losgelassen wird.
      * Setzt die Hintergrundfarbe des Kreises mit dem chiffrierten Buchstaben auf grau,
@@ -438,14 +415,13 @@ public class GuiController {
         if (e.getSource() == btnReset) {
             codierer.resetHardware();
             this.resetDisplay = true;
+            this.lblSpruchschluessel.setText("");
             this.setzeTagesSchluessel();
         }
     }
-
     //endregion
 
     //region Methoden
-
     /**
      * Setzt die Hintergrundfarbe des Kreises (chiffrierter Buchstabe) auf gelb bzw. auf grau.
      *
@@ -585,7 +561,6 @@ public class GuiController {
      * sowie den Klartext in das Textfeld tfKlartext. Setzt den Spruchschlüssel
      */
     private void empfangeFunkspruch() {
-
         progressDialogue("rx");
 
         try {
@@ -611,7 +586,6 @@ public class GuiController {
      * Löscht die Textfelder tfKlartext und tfCodiert
      */
     private void sendeFunkspruch() {
-
         this.tfKlartext.setText("");
         this.tfCodiert.setText("");
 
@@ -621,16 +595,16 @@ public class GuiController {
     /**
      * TODO
      *
-     * @param strRxTx
+     * @param strRxTx : String : RX oder TX
      */
     private void progressDialogue(String strRxTx) {
-
         Task copyWorker = createWorker(strRxTx);
 
+        ProgressIndicator pi = new ProgressIndicator();
+        pi.setProgress(-1);
+
         ProgressDialog dialog = new ProgressDialog(copyWorker);
         dialog.initStyle(StageStyle.TRANSPARENT);
-        dialog.setGraphic(null);
-        dialog.initStyle(StageStyle.TRANSPARENT);
         dialog.setTitle("Kommunikation zum Funkraum");
         if (strRxTx.equals("rx")) {
             dialog.setContentText("Empfange Nachricht");
@@ -638,7 +612,7 @@ public class GuiController {
             dialog.setContentText("Sende Nachricht");
         }
         dialog.setHeaderText(null);
-        dialog.setGraphic(null);
+        dialog.setGraphic(pi);
         dialog.initStyle(StageStyle.UTILITY);
         new Thread(copyWorker).start();
         dialog.showAndWait();
@@ -647,13 +621,13 @@ public class GuiController {
     /**
      * TODO
      *
-     * @param strRxTx
-     * @return
+     * @param strRxTx : String : RX oder TX
+     * @return boolean
      */
     public Task createWorker(String strRxTx) {
         return new Task() {
             @Override
-            protected Object call() throws Exception {
+            protected Object call() {
                 if (strRxTx.equals("rx")) {
                     empfangeneNachricht = codierer.empfangeNachricht();
                 } else if (strRxTx.equals("tx")) {
@@ -759,37 +733,16 @@ public class GuiController {
      * @param walzeNr        => gibt die Walzennummer an
      */
     private void setzeWalze(int walzenPosition, int walzeNr) {
-        //int walzeNr = 0;
-        switch (walzeNr) {
-            case 1:
-                walzeNr = 0;
-                break;
-            case 2:
-                walzeNr = 1;
-                break;
-            case 3:
-                walzeNr = 2;
-                break;
-            case 4:
-                walzeNr = 3;
-                break;
-            case 5:
-                walzeNr = 4;
-                break;
-            default:
-                break;
-        }
-
         switch (walzenPosition) {
             case 1:
-                mBtnWalzPos1.setText(walzenNr[walzeNr]);
+                mBtnWalzPos1.setText(walzenNr[walzeNr - 1]);
                 //codierer.setWalze(walzeNr, walzenPosition)
                 break;
             case 2:
-                mBtnWalzPos2.setText(walzenNr[walzeNr]);
+                mBtnWalzPos2.setText(walzenNr[walzeNr - 1]);
                 break;
             case 3:
-                mBtnWalzPos3.setText(walzenNr[walzeNr]);
+                mBtnWalzPos3.setText(walzenNr[walzeNr - 1]);
                 break;
             default:
                 break;
@@ -864,8 +817,11 @@ public class GuiController {
 
         // Steckbrett Felder setzen
         setzeSteckverbindungen();
+
         // Setzt das Steckbrett
         generateSteckbrett();
+
+        // Felder zurück setzen
         this.textCodiert = "";
         this.textEingabe = "";
         this.tfKlartext.setText("");
@@ -873,18 +829,20 @@ public class GuiController {
     }
 
     /**
-     * TODO
+     * TODO: Doku
      *
-     * @param kenngruppe
+     * @param kenngruppe : String : Die Kenngruppe die gesetzt werden soll
      */
     public void setKenngruppe(String kenngruppe) {
 
         // Initialisieren des Codierers und setzen der Kenngruppe
-        codierer = new Codierer(kenngruppe);
+        codierer = new Codierer(kenngruppe.toUpperCase());
 
         this.codierer.resetHardware();
+
         //Setzt die Kenngruppe in der GUI
-        lblKenngruppe.setText(this.codierer.getKenngruppe());
+        lblKenngruppe.setText("Kenngruppe: " + this.codierer.getKenngruppe());
+
         // Beim nächsten Tastendruck erstmal das Display löschen damit falschen Nachrichten geschickt werden.
         resetDisplay = true;
 
diff --git a/src/main/java/projekt/enigma/database/DatenbankSqlite.java b/src/main/java/projekt/enigma/database/DatenbankSqlite.java
index ac7c9024be694baff54f6573ac70dc695fc45081..21a20a22c96642c0d7b9dd2e89b1e4efc1c16dec 100644
--- a/src/main/java/projekt/enigma/database/DatenbankSqlite.java
+++ b/src/main/java/projekt/enigma/database/DatenbankSqlite.java
@@ -72,96 +72,4 @@ public class DatenbankSqlite {
 
 		return codebuch;
 	}
-
-	//region Random New Codebuch generieren
-	/**
-	 * Setzt zufällige Codebuch Einträge in die SQLite Datenbank
-	 * Tag => int
-	 * Walzenlage => String w1,w2,w3
-	 * Ringstellung => String r1,r2,r3
-	 * Steckverbindungen => s0,s1,s2,s3,s4,s5,s6,s7,s8,s9
-	 */
-	/*
-	public void autoGenCodebuch() throws SQLException {
-
-		Connection conn = connect();
-		conn.setAutoCommit(false);
-		PreparedStatement pstmtInsert = conn.prepareStatement("INSERT INTO table_codebuch (Tag, Walzenlage, Ringstellung, Steckverbindung) VALUES (?, ?, ?, ?);");
-		for (int i = 3; i < 32; i++) {
-			pstmtInsert.setInt(1, i);
-			pstmtInsert.setString(2, walzenlage());
-			pstmtInsert.setString(3, ringstellung());
-			pstmtInsert.setString(4, steckverbindung());
-			pstmtInsert.executeUpdate();
-		}
-
-		conn.commit();
-	}
-
-	/**
-	 * Generiert einen String aus 3 Zufalls-Zahlen(zwischen 1 und 5)
-	 * die Zahlen sind durch Komma getrennt
-	 * @return String => walzenlage mit drei Kommaseparierten Zufallszahlen zwischen 1 und 5
-	 */
-	/*
-	private static String walzenlage(){
-		String walzenlage;
-		Random random = new Random();
-		int[] w = new int[3];
-		for (int i = 0; i < 3; i++) {
-
-			w[i] = (random.nextInt(5))+1;
-			if (i==1&&w[0]==w[i])w[i]=(random.nextInt(5))+1;
-			if ((i==2&&w[0]==w[2])||(i==2&&w[1]==w[i]))w[i]=(random.nextInt(5))+1;
-		}
-		walzenlage= w[0]+","+w[1]+","+w[2];
-		return walzenlage;
-	}*/
-
-	/**
-	 * Generiert einen String aus 3 Zufalls-Zahlen(zwischen 1 und 26)
-	 * die Zahlen sind durch Komma getrennt
-	 * @return String => ringstellung mit drei Kommaseparierten Zufallszahlen zwischen 1 und 26
-	 */
-	/*
-	private static String ringstellung(){
-		String ringstellung;
-		Random random = new Random();
-		int[] w = new int[3];
-		for (int i = 0; i < 3; i++) {
-			w[i] = (random.nextInt(26))+1;
-		}
-		ringstellung= w[0]+","+w[1]+","+w[2];
-		return ringstellung;
-	}*/
-
-	/**
-	 * Generiert einen String aus 10 * 2 unterschiedlichen Großbuchstaben
-	 * @return String => 10 Buchstabenkombinationen mit Komma getrennt
-	 *//*
-	    private static String steckverbindung(){
-        Random rnd = new Random();
-        String steckverbindung="";
-
-
-        char[] c = new char[20];
-        for (int i = 0; i < 20; i++) {
-            c[i] = (char) (rnd.nextInt(26) + 'A');
-            for (int j = i; j >= 0; j--) {
-                if (i>j) {
-                    while (c[i]==c[j]) {
-                        c[i] = (char) (rnd.nextInt(26) + 'A');
-                        j= i-1;
-                    }
-                }
-            }
-        }
-        steckverbindung = ((""+c[0]) + (""+c[1]) +"," +(""+c[2]) +(""+c[3]) + ","+(""+c[4]) +(""+c[5]) + ","+(""+c[6]) +(""+c[7]) + ","
-                +(""+c[8]) +(""+c[9]) + ","+(""+c[10]) +(""+c[11]) + ","+(""+c[12]) +(""+c[13]) + ","+(""+c[14]) +(""+c[15]) + ","+(""+c[16]) +(""+c[17]) + ","
-                +(""+c[18]) +(""+c[19]));
-       // System.out.println(steckverbindung);
-       // steckverbindung= (String) steckverbindung.subSequence(0,steckverbindung.lastIndexOf(","));
-        return steckverbindung;
-    }*/
-	//endregion
 }
diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
index 8631af6186be26701d629893a62ba15d82c94ee0..b548415005700d404a7784efc93d14147fd41d0e 100644
--- a/src/main/java/projekt/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -45,11 +45,6 @@ public class Codierer {
      * Im Codebuch sind die Tageswerte zu finden. Über dieses Objekt kann darauf zugegriffen werden.
      */
     private Codebuch codebuch;
-
-    /**
-     * Thread mit der Abfolge an Aufgaben des Funkraums.
-     */
-    private Thread funk;
     //endregion
 
     //region Konstruktor
@@ -71,7 +66,6 @@ public class Codierer {
     //endregion
 
     //region Funktionen & Methoden
-
     //region Reset & Initialisieren
 
     /**
@@ -497,20 +491,6 @@ public class Codierer {
     //endregion
     //endregion
 
-    //region Setter
-
-    /**
-     * Setzt die Kenngruppe welche die Enigma gerade benutzt.
-     *
-     * @param kenngruppe : String : Kenngruppe welche die Enigma gerade benutzt
-     */
-    public void setKenngruppe(String kenngruppe) {
-
-        this.kenngruppe = kenngruppe;
-        this.initialisiereHardware();
-    }
-    //endregion
-
     //region Getter
 
     /**
@@ -532,14 +512,5 @@ public class Codierer {
     public String getSpruchschluessel() {
         return this.spruchschluessel;
     }
-
-    /**
-     * Gibt die bisher erstellte Nachricht zurück
-     *
-     * @return String : Erstellte Nachricht
-     */
-    public String getNachricht() {
-        return nachricht;
-    }
     //endregion
 }
diff --git a/src/main/java/projekt/enigma/model/Fehler.java b/src/main/java/projekt/enigma/model/Fehler.java
index 624e5e267f73d10fb512fcd8799429489bb4e39e..5625c5a4842c1066891592af4234abaf818375a4 100644
--- a/src/main/java/projekt/enigma/model/Fehler.java
+++ b/src/main/java/projekt/enigma/model/Fehler.java
@@ -60,7 +60,7 @@ public class Fehler {
      * wenn in der App.java der Getter getDebug einen int > 0 zurueck gibt.
      * Ueber diesen Getter kann man steuern ob Meldungen in der Konsole angezeigt werden sollen oder nicht.
      *
-     * @param message : String : Nachricht
+     * @param message    : String : Nachricht
      * @param isFunction : boolean : Gibt an ob ein Funktionsname übergeben wird oder eine Debug Meldung
      */
     public void debug(String message, boolean isFunction) {
@@ -78,7 +78,7 @@ public class Fehler {
      * wenn in der App.java der Getter getDebug einen int > 0 zurueck gibt.
      * Ueber diesen Getter kann man steuern ob Meldungen in der Konsole angezeigt werden sollen oder nicht.
      *
-     * @param message : String : Nachricht
+     * @param message    : String : Nachricht
      * @param isFunction : boolean : Gibt an ob ein Funktionsname übergeben wird oder eine Debug Meldung
      */
     public void debug(String message, boolean isFunction, int debugLevel) {
diff --git a/src/main/java/projekt/enigma/model/Funkraum.java b/src/main/java/projekt/enigma/model/Funkraum.java
index 77131a58b194b31ed6bf6012822786dc033f07fd..e903f8cf51c9114fd62ee7c7f6a086fa86ea96cf 100644
--- a/src/main/java/projekt/enigma/model/Funkraum.java
+++ b/src/main/java/projekt/enigma/model/Funkraum.java
@@ -1,7 +1,6 @@
 package projekt.enigma.model;
 
 import org.apache.http.HttpEntity;
-import org.apache.http.HttpException;
 import org.apache.http.HttpResponse;
 import org.apache.http.NameValuePair;
 import org.apache.http.client.HttpClient;
@@ -28,95 +27,93 @@ import java.util.List;
  */
 public class Funkraum {
 
-	/**
-	 * Zum Empfangen liefert der Server, anstatt der Kenngruppe (k), den Empfangstag (t) der Nachricht mit, damit man
-	 * die Grundeinstellungen aus dem Codebuch, für diesen Tag, raussuchen kann.
-	 * {'m': 'Hello world', 't': '26'}
-	 *
-	 * @param kenngruppe : String : Kenngruppe dieser Enigma
-	 * @return funkspruch : String[] : String Array wobei Index 0 dem Empfangstag entspricht und Index 1
-	 * der empfangenen Nachricht
-	 * @throws UnsupportedEncodingException : Exception : falsche Zeichenkodierung
-	 * @throws IOException : Exception : Fehler bei der uebergabe an den Webservice
-	 * @throws NullPointerException : Exception : Keine Nachricht
-	 */
-	public String[] empfangeFunkspruch(String kenngruppe) {
-		String[] funkspruch = new String[2];
+    /**
+     * Zum Empfangen liefert der Server, anstatt der Kenngruppe (k), den Empfangstag (t) der Nachricht mit, damit man
+     * die Grundeinstellungen aus dem Codebuch, für diesen Tag, raussuchen kann.
+     * {'m': 'Hello world', 't': '26'}
+     *
+     * @param kenngruppe : String : Kenngruppe dieser Enigma
+     * @return funkspruch : String[] : String Array wobei Index 0 dem Empfangstag entspricht und Index 1
+     * der empfangenen Nachricht
+     * @throws NullPointerException : Exception : Keine Nachricht
+     */
+    public String[] empfangeFunkspruch(String kenngruppe) {
+        String[] funkspruch = new String[2];
 
-		HttpClient httpclient = HttpClients.createDefault();
-		HttpPost httppost = new HttpPost("https://enigma.itstall.de/");
+        HttpClient httpclient = HttpClients.createDefault();
+        HttpPost httppost = new HttpPost("https://enigma.itstall.de/");
 
-		try {
-			// Anfrage Parameter und Encoding setzen
-			List<NameValuePair> params = new ArrayList<>(2);
-			params.add(new BasicNameValuePair("k", kenngruppe));
-			httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
+        try {
+            // Anfrage Parameter und Encoding setzen
+            List<NameValuePair> params = new ArrayList<>(2);
+            params.add(new BasicNameValuePair("k", kenngruppe));
+            httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
 
-			// POST Request ausführen und Rückgabe verarbeiten
-			HttpResponse response = httpclient.execute(httppost);
-			HttpEntity entity = response.getEntity();
+            // POST Request ausführen und Rückgabe verarbeiten
+            HttpResponse response = httpclient.execute(httppost);
+            HttpEntity entity = response.getEntity();
 
-			if (entity != null) {
-				BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
-				JSONObject result = new JSONObject(reader.readLine());
+            if (entity != null) {
+                BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
+                JSONObject result = new JSONObject(reader.readLine());
 
-				if (!result.getString("m").isEmpty()) {
-					funkspruch[0] = result.getString("t");
-					funkspruch[1] = result.getString("m");
-				}
-			}
-		} catch (UnsupportedEncodingException e) {
-			new Fehler().showErrorDialog("error", "Encoding wird nicht unterstützt",
-					"Kommunikation mit dem Feind wird als Landesverrat bestraft");
-		} catch (IOException e) {
-			new Fehler().showErrorDialog("error", "HTTP Post war nicht erfolgreich",
-					"Bitte wenden Sie sich an ihren Vorgesetzten.");
-		} catch (NullPointerException e) {
-			new Fehler().showErrorDialog("info", "Keiner schreibt dir...",
-					"Es liegen keine neuen Nachrichten im Funkraum für Sie vor.");
-		}
+                if (!result.getString("m").isEmpty()) {
+                    funkspruch[0] = result.getString("t");
+                    funkspruch[1] = result.getString("m");
+                }
+            }
+        } catch (UnsupportedEncodingException e) {
+            new Fehler().showErrorDialog("error", "Encoding wird nicht unterstützt",
+                    "Kommunikation mit dem Feind wird als Landesverrat bestraft");
+        } catch (IOException e) {
+            new Fehler().showErrorDialog("error", "HTTP Post war nicht erfolgreich",
+                    "Bitte wenden Sie sich an ihren Vorgesetzten.");
+        } catch (NullPointerException e) {
+            new Fehler().showErrorDialog("info", "Keiner schreibt dir...",
+                    "Es liegen keine neuen Nachrichten im Funkraum für Sie vor.");
+        }
 
-		return funkspruch;
-	}
+        return funkspruch;
+    }
 
-	/**
-	 * Dem Service senden wir unsere Nachricht als POST Parameter (m) und unsere Kenngruppe (k).
-	 * Dieser nimmt die Daten entgegen und hierlerlegt sie auf seinem Stapel (Datenbank) von dem die Nachrichten
-	 * irgendwann, auf Anfrage, wieder abgerufen werden koennen.
-	 * <p>
-	 * Darauf antwortet der Server mit einem JSON Object in dem das Ergebnis der Anfrage zu sehen ist.
-	 * {'result': 200}
-	 * <p>
-	 * Die 200 heißt hier, dass alles erfolgreich durchgefuehrt werden konnte. Steht hier etwas anderes, ist ein Fehler
-	 * aufgetreten und die Anfrage war nicht erfolgreich.
-	 * In letzterem Fall sollte eine Meldung an den Benutzer ausgegeben werden und ggf spaeter erneut versucht werden.
-	 *
-	 * @param funkspruch : String : Der zu sendende Funkspruch
-	 * @param kenngruppe : String : Die Kenngruppe dieser Engima
-	 * @throws IOException : Exception : Funkspruch konnte nicht gesendet werden
-	 */
-	public void sendeFunkspruch(String funkspruch, String kenngruppe) throws HttpException, IOException {
-		HttpClient httpclient = HttpClients.createDefault();
-		HttpPost httppost = new HttpPost("https://enigma.itstall.de/");
+    /**
+     * Dem Service senden wir unsere Nachricht als POST Parameter (m) und unsere Kenngruppe (k).
+     * Dieser nimmt die Daten entgegen und hierlerlegt sie auf seinem Stapel (Datenbank) von dem die Nachrichten
+     * irgendwann, auf Anfrage, wieder abgerufen werden koennen.
+     * <p>
+     * Darauf antwortet der Server mit einem JSON Object in dem das Ergebnis der Anfrage zu sehen ist.
+     * {'result': 200}
+     * <p>
+     * Die 200 heißt hier, dass alles erfolgreich durchgefuehrt werden konnte. Steht hier etwas anderes, ist ein Fehler
+     * aufgetreten und die Anfrage war nicht erfolgreich.
+     * In letzterem Fall sollte eine Meldung an den Benutzer ausgegeben werden und ggf spaeter erneut versucht werden.
+     *
+     * @param funkspruch : String : Der zu sendende Funkspruch
+     * @param kenngruppe : String : Die Kenngruppe dieser Engima
+     * @throws IOException : Exception : Funkspruch konnte nicht gesendet werden
+     */
+    public void sendeFunkspruch(String funkspruch, String kenngruppe) throws IOException {
+        HttpClient httpclient = HttpClients.createDefault();
+        HttpPost httppost = new HttpPost("https://enigma.itstall.de/");
 
-		// Anfrage Parameter und Encoding setzen
-		List<NameValuePair> params = new ArrayList<>(2);
-		params.add(new BasicNameValuePair("k", kenngruppe));
-		params.add(new BasicNameValuePair("m", funkspruch));
-		httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
+        // Anfrage Parameter und Encoding setzen
+        List<NameValuePair> params = new ArrayList<>(2);
+        params.add(new BasicNameValuePair("k", kenngruppe));
+        params.add(new BasicNameValuePair("m", funkspruch));
+        httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
 
-		// POST Request ausführen und Rückgabe verarbeiten
-		HttpResponse response = httpclient.execute(httppost);
-		HttpEntity entity = response.getEntity();
+        // POST Request ausführen und Rückgabe verarbeiten
+        HttpResponse response = httpclient.execute(httppost);
+        HttpEntity entity = response.getEntity();
 
-		if (entity != null) {
-			BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
-			JSONObject result = new JSONObject(reader.readLine());
-			if (result.getInt("result") != 200) {
-				new Fehler().showErrorDialog("error", "HTTP Exception",
-						"Der andere Funker mag deine Nachricht nicht. " +
-								"Rüge ihn wenn du ihn wieder siehst...");
-			}
-		}
-	}
+        if (entity != null) {
+            BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
+            JSONObject result = new JSONObject(reader.readLine());
+            if (result.getInt("result") != 200) {
+                new Fehler().showErrorDialog("error", "HTTP Exception",
+                        "Der andere Funker mag deine Nachricht nicht. " +
+                                "Rüge ihn wenn du ihn wieder siehst...");
+            }
+        }
+    }
 }
diff --git a/src/main/java/projekt/enigma/model/Hardware.java b/src/main/java/projekt/enigma/model/Hardware.java
index 0ddd8ed605bc771ee67247e6e3a3e39bd669add3..00e0d12330a1da925bba0554f558c6f65d0f8f7e 100644
--- a/src/main/java/projekt/enigma/model/Hardware.java
+++ b/src/main/java/projekt/enigma/model/Hardware.java
@@ -15,207 +15,187 @@ package projekt.enigma.model;
  */
 public class Hardware {
 
-	//region Variablen
-	/**
-	 * walzen: Walze-Array: erzeugt ein privates Array mit der die Anzahl der Walzen festgelegt wird.
-	 */
-	private Walze[] walzen;
-
-	/**
-	 * steckbrett: Steckbrett: erzeugt ein privates Steckbrett-Objekt
-	 */
-	private Steckbrett steckbrett;
-
-	/**
-	 * reflektor: Reflektor: erzeugt ein privates Reflektor-Objekt.
-	 */
-	private Reflektor reflektor;
-	//endregion
-
-	//region Konstruktor
-
-	/**
-	 * Im Konstruktor legen wir die Anzahl der Walzen fest welche die Hardware aufnehmen kann.
-	 * Die Enigma I welche hier nachgebildet werden soll, konnte drei Walzen aufnehmen.
-	 */
-	public Hardware() {
-		this.walzen = new Walze[3];
-	}
-	//endregion
-
-	//region Funktionen & Methoden
-
-	/**
-	 * Setzt eine Walze ein
-	 *
-	 * @param walze    : int : Setzt die Walze mit der angegebenen Nummer ein
-	 * @param walzenNr : int : Die Nummer der einzusetzenden Walze
-	 */
-	public void setzeWalzenNr(int walze, int walzenNr, int ringstellung) {
-		this.walzen[walze] = new Walze(walzenNr, ringstellung);
-	}
-
-	/**
-	 * Setzt den Notch der Walze
-	 *
-	 * @param walze    : int : Position der Walze
-	 * @param position : int : Umspringpunkt auf der Walze
-	 */
-	public void setzeRing(int walze, int position) {
-		this.walzen[walze].setRingstellung(position);
-	}
-
-	/**
-	 * Setzt den Startwert (position) der Walze (walze)
-	 *
-	 * @param walze     : int : Nummer der Walze
-	 * @param buchstabe : char : Buchstabe der zugewiesen soll
-	 */
-	public void setzePosition(int walze, char buchstabe) {
-		this.walzen[walze].setPosition(buchstabe);
-	}
-
-	/**
-	 * Verschlüsselt den übergebenen Buchstaben und fügt ihn der Nachricht hinzu
-	 *
-	 * @param buchstabe char : Der zu ver/entschlüsselnde Buchstabe
-	 * @return char : Der ver/entschlüsselte Buchstabe
-	 */
-	public char codiere(char buchstabe) {
-
-		new Fehler().debug(this.getClass().getName() + "." +
+    //region Variablen
+    /**
+     * walzen: Walze-Array: erzeugt ein privates Array mit der die Anzahl der Walzen festgelegt wird.
+     */
+    private Walze[] walzen;
+
+    /**
+     * steckbrett: Steckbrett: erzeugt ein privates Steckbrett-Objekt
+     */
+    private Steckbrett steckbrett;
+
+    /**
+     * reflektor: Reflektor: erzeugt ein privates Reflektor-Objekt.
+     */
+    private Reflektor reflektor;
+    //endregion
+
+    //region Konstruktor
+
+    /**
+     * Im Konstruktor legen wir die Anzahl der Walzen fest welche die Hardware aufnehmen kann.
+     * Die Enigma I welche hier nachgebildet werden soll, konnte drei Walzen aufnehmen.
+     */
+    public Hardware() {
+        this.walzen = new Walze[3];
+    }
+    //endregion
+
+    //region Funktionen & Methoden
+
+    /**
+     * Setzt eine Walze ein
+     *
+     * @param walze    : int : Setzt die Walze mit der angegebenen Nummer ein
+     * @param walzenNr : int : Die Nummer der einzusetzenden Walze
+     */
+    public void setzeWalzenNr(int walze, int walzenNr, int ringstellung) {
+        this.walzen[walze] = new Walze(walzenNr, ringstellung);
+    }
+
+    /**
+     * Setzt den Notch der Walze
+     *
+     * @param walze    : int : Position der Walze
+     * @param position : int : Umspringpunkt auf der Walze
+     */
+    public void setzeRing(int walze, int position) {
+        this.walzen[walze].setRingstellung(position);
+    }
+
+    /**
+     * Setzt den Startwert (position) der Walze (walze)
+     *
+     * @param walze     : int : Nummer der Walze
+     * @param buchstabe : char : Buchstabe der zugewiesen soll
+     */
+    public void setzePosition(int walze, char buchstabe) {
+        this.walzen[walze].setPosition(buchstabe);
+    }
+
+    /**
+     * Verschlüsselt den übergebenen Buchstaben und fügt ihn der Nachricht hinzu
+     *
+     * @param buchstabe char : Der zu ver/entschlüsselnde Buchstabe
+     * @return char : Der ver/entschlüsselte Buchstabe
+     */
+    public char codiere(char buchstabe) {
+
+        new Fehler().debug(this.getClass().getName() + "." +
                 new Throwable().getStackTrace()[0].getMethodName(), true);
-		buchstabe = Character.toUpperCase(buchstabe);
-		String debug = String.format("Positionen: W1:%s W2:%s W3:%s",
-				this.walzen[0].getPosition(),
-				this.walzen[1].getPosition(),
-				this.walzen[2].getPosition());
-		debug += "\nI\tS\t3\t2\t1\tR\t1\t2\t3\tS\n" + buchstabe;
-
-		this.dreheWalzen(1);
-
-		buchstabe = this.steckbrett.codiere(Character.toUpperCase(buchstabe));
-		debug += "\t" + buchstabe;
-		buchstabe = this.walzen[2].codiere(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.walzen[1].codiere(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.walzen[0].codiere(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.reflektor.codiere(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.walzen[0].codiere2(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.walzen[1].codiere2(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.walzen[2].codiere2(buchstabe);
-		debug += "\t" + buchstabe;
-		buchstabe = this.steckbrett.codiere(buchstabe);
-		debug += "\t" + buchstabe;
-		new Fehler().debug(debug, false);
-
-		return buchstabe;
-	}
-
-	/**
-	 * Nach jeder codierung eines Buchstabens müssen die Walzen gedreht werden.
-	 * Hier überprüfen wir welche der Walzen gedreht werden müssen und stoßen die Vorgang an.
-	 */
-	public void dreheWalzen(int richtung) {
-		if (richtung > 0) {
-			for (int i = 0; i < richtung; i++) {
-				if (this.walzen[2].dreheWalze(1)) {
-					if (this.walzen[1].dreheWalze(1)) {
-						this.walzen[0].dreheWalze(1);
-					}
-				}
-			}
-		} else {
-			for (int i = 0; i > richtung; richtung++) {
-				if (this.walzen[2].dreheWalze(-1)) {
-					if (this.walzen[1].dreheWalze(-1)) {
-						this.walzen[0].dreheWalze(-1);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Diese Funktion setzt die Walzen auf ihren Anfangswert zurück.
-	 * Hierfür ist der Buchstabe "A" festgelegt.
-	 * Dies wird benötigt um zB einen neuen Spruchschlüssel einzustellen oder eine neue Nachricht zu verfassen.
-	 */
-	public void resetWalzen() {
-		this.getWalzen()[0].setPosition('A');
-		this.getWalzen()[1].setPosition('A');
-		this.getWalzen()[2].setPosition('A');
-	}
-	//endregion
-
-	//region Setter
-
-	/**
-	 * Setzt eine Walze ein und speichert das Objekt im Walzen Array
-	 *
-	 * @param position     : int : Position der Walze
-	 * @param walze        : int : Die Nummer der Walze
-	 * @param ringstellung : int : Umsprung Punkt der Walze
-	 */
-	public void setWalzen(int position, int walze, int ringstellung) {
-		this.walzen[position] = new Walze(walze, ringstellung);
-	}
-
-	/**
-	 * Gibt das Objekt des Steckbretts zurück
-	 *
-	 * @return Steckbrett : Das eingesetzte Steckbrett mit seinen Kabeln wenn eingesteckt
-	 */
-	public Steckbrett getSteckbrett() {
-		return steckbrett;
-	}
-
-	/**
-	 * Setzt das übergebene Steckbrett Objekt in die Hardware ein
-	 *
-	 * @param steckbrett : Steckbrett : Objekt des Steckbretts mit allen verbundenen Kabeln
-	 */
-	public void setSteckbrett(Steckbrett steckbrett) {
-		this.steckbrett = steckbrett;
-	}
-	//endregion
-
-	//region Getter
-
-	/**
-	 * Liest den Reflektor aus und gibt ihn zurück
-	 *
-	 * @return Reflektor : Objekt des Reflektors
-	 */
-	public Reflektor getReflektor() {
-		return reflektor;
-	}
-
-	/**
-	 * Setzt den Reflektor ein.
-	 * In der Enigma I welche hier nachgebaut wird, gab es nur einen Reflektor.
-	 * Spätere Versionen haten zwei oder mehr, deshalb haben wir hier auch schon ein Objekt dafür erstellt,
-	 * welches ausgetauscht werden kann.
-	 *
-	 * @param reflektor : Reflektor : Das Obejtk des Reflektors
-	 */
-	public void setReflektor(Reflektor reflektor) {
-		this.reflektor = reflektor;
-	}
-
-	/**
-	 * Gibt die verbauten Walzen Objekte zurück
-	 *
-	 * @return Walze[] : Array mit den Walzen Objekten
-	 */
-	public Walze[] getWalzen() {
-		return this.walzen;
-	}
-	//endregion
+        buchstabe = Character.toUpperCase(buchstabe);
+        String debug = String.format("Positionen: W1:%s W2:%s W3:%s",
+                this.walzen[0].getPosition(),
+                this.walzen[1].getPosition(),
+                this.walzen[2].getPosition());
+        debug += "\nI\tS\t3\t2\t1\tR\t1\t2\t3\tS\n" + buchstabe;
+
+        this.dreheWalzen(1);
+
+        buchstabe = this.steckbrett.codiere(Character.toUpperCase(buchstabe));
+        debug += "\t" + buchstabe;
+        buchstabe = this.walzen[2].codiere(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.walzen[1].codiere(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.walzen[0].codiere(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.reflektor.codiere(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.walzen[0].codiere2(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.walzen[1].codiere2(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.walzen[2].codiere2(buchstabe);
+        debug += "\t" + buchstabe;
+        buchstabe = this.steckbrett.codiere(buchstabe);
+        debug += "\t" + buchstabe;
+        new Fehler().debug(debug, false);
+
+        return buchstabe;
+    }
+
+    /**
+     * Nach jeder codierung eines Buchstabens müssen die Walzen gedreht werden.
+     * Hier überprüfen wir welche der Walzen gedreht werden müssen und stoßen die Vorgang an.
+     */
+    public void dreheWalzen(int richtung) {
+        if (richtung > 0) {
+            for (int i = 0; i < richtung; i++) {
+                if (this.walzen[2].dreheWalze(1)) {
+                    if (this.walzen[1].dreheWalze(1)) {
+                        this.walzen[0].dreheWalze(1);
+                    }
+                }
+            }
+        } else {
+            for (int i = 0; i > richtung; richtung++) {
+                if (this.walzen[2].dreheWalze(-1)) {
+                    if (this.walzen[1].dreheWalze(-1)) {
+                        this.walzen[0].dreheWalze(-1);
+                    }
+                }
+            }
+        }
+    }
+    //endregion
+
+    //region Setter
+
+    /**
+     * Setzt eine Walze ein und speichert das Objekt im Walzen Array
+     *
+     * @param position     : int : Position der Walze
+     * @param walze        : int : Die Nummer der Walze
+     * @param ringstellung : int : Umsprung Punkt der Walze
+     */
+    public void setWalzen(int position, int walze, int ringstellung) {
+        this.walzen[position] = new Walze(walze, ringstellung);
+    }
+
+    /**
+     * Gibt das Objekt des Steckbretts zurück
+     *
+     * @return Steckbrett : Das eingesetzte Steckbrett mit seinen Kabeln wenn eingesteckt
+     */
+    public Steckbrett getSteckbrett() {
+        return steckbrett;
+    }
+
+    /**
+     * Setzt das übergebene Steckbrett Objekt in die Hardware ein
+     *
+     * @param steckbrett : Steckbrett : Objekt des Steckbretts mit allen verbundenen Kabeln
+     */
+    public void setSteckbrett(Steckbrett steckbrett) {
+        this.steckbrett = steckbrett;
+    }
+    //endregion
+
+    //region Getter
+
+    /**
+     * Setzt den Reflektor ein.
+     * In der Enigma I welche hier nachgebaut wird, gab es nur einen Reflektor.
+     * Spätere Versionen haten zwei oder mehr, deshalb haben wir hier auch schon ein Objekt dafür erstellt,
+     * welches ausgetauscht werden kann.
+     *
+     * @param reflektor : Reflektor : Das Obejtk des Reflektors
+     */
+    public void setReflektor(Reflektor reflektor) {
+        this.reflektor = reflektor;
+    }
+
+    /**
+     * Gibt die verbauten Walzen Objekte zurück
+     *
+     * @return Walze[] : Array mit den Walzen Objekten
+     */
+    public Walze[] getWalzen() {
+        return this.walzen;
+    }
+    //endregion
 
 }
diff --git a/src/main/java/projekt/enigma/model/Morsecode.java b/src/main/java/projekt/enigma/model/Morsecode.java
index 0c4894c5b72c09aeba8222b5ea844a98193878ba..bc3e56fdb184c6cd5fc393f4ade82236b9c04307 100644
--- a/src/main/java/projekt/enigma/model/Morsecode.java
+++ b/src/main/java/projekt/enigma/model/Morsecode.java
@@ -1,7 +1,7 @@
 package projekt.enigma.model;
 
-import java.util.*;
 import java.util.Map.Entry;
+import java.util.TreeMap;
 
 /**
  * Diese Klasse definiert die Zugehoerigkeit zwischen den Buchstaben A-Z und dem Morsecode.
@@ -9,137 +9,137 @@ import java.util.Map.Entry;
  */
 public class Morsecode {
 
-	/**
-	 * Anlegen der codeMap als TreeMap
-	 */
-	private TreeMap<String, String> codeMap;
+    /**
+     * Anlegen der codeMap als TreeMap
+     */
+    private TreeMap<String, String> codeMap;
 
-	/**
-	 * Im Konstruktor werden alle verfuegbaren Buchstaben (A-Z) und deren zugehoerigen
-	 * Morsecodes, der codeMap hinzugefuegt.
-	 */
-	public Morsecode() {
-		codeMap = new TreeMap<>();
-		this.codeMap.put("A", ".-");
-		this.codeMap.put("B", "-...");
-		this.codeMap.put("C", "-.-.");
-		this.codeMap.put("D", "-..");
-		this.codeMap.put("E", ".");
-		this.codeMap.put("F", "..-.");
-		this.codeMap.put("G", "--.");
-		this.codeMap.put("H", "....");
-		this.codeMap.put("I", "..");
-		this.codeMap.put("J", ".---");
-		this.codeMap.put("K", "-.-");
-		this.codeMap.put("L", ".-..");
-		this.codeMap.put("M", "--");
-		this.codeMap.put("N", "-.");
-		this.codeMap.put("O", "---");
-		this.codeMap.put("P", ".--.");
-		this.codeMap.put("Q", "--.-");
-		this.codeMap.put("R", ".-.");
-		this.codeMap.put("S", "...");
-		this.codeMap.put("T", "-");
-		this.codeMap.put("U", "..-");
-		this.codeMap.put("V", "...-");
-		this.codeMap.put("W", ".--");
-		this.codeMap.put("X", "-..-");
-		this.codeMap.put("Y", "-.--");
-		this.codeMap.put("Z", "--..");
-		this.codeMap.put(" ", "-...-");
-		this.codeMap.put("1", ".----");
-		this.codeMap.put("2", "..---");
-		this.codeMap.put("3", "...--");
-		this.codeMap.put("4", "....-");
-		this.codeMap.put("5", ".....");
-		this.codeMap.put("6", "-....");
-		this.codeMap.put("7", "--...");
-		this.codeMap.put("8", "---..");
-		this.codeMap.put("9", "----.");
-		this.codeMap.put("0", "-----");
-	}
+    /**
+     * Im Konstruktor werden alle verfuegbaren Buchstaben (A-Z) und deren zugehoerigen
+     * Morsecodes, der codeMap hinzugefuegt.
+     */
+    public Morsecode() {
+        codeMap = new TreeMap<>();
+        this.codeMap.put("A", ".-");
+        this.codeMap.put("B", "-...");
+        this.codeMap.put("C", "-.-.");
+        this.codeMap.put("D", "-..");
+        this.codeMap.put("E", ".");
+        this.codeMap.put("F", "..-.");
+        this.codeMap.put("G", "--.");
+        this.codeMap.put("H", "....");
+        this.codeMap.put("I", "..");
+        this.codeMap.put("J", ".---");
+        this.codeMap.put("K", "-.-");
+        this.codeMap.put("L", ".-..");
+        this.codeMap.put("M", "--");
+        this.codeMap.put("N", "-.");
+        this.codeMap.put("O", "---");
+        this.codeMap.put("P", ".--.");
+        this.codeMap.put("Q", "--.-");
+        this.codeMap.put("R", ".-.");
+        this.codeMap.put("S", "...");
+        this.codeMap.put("T", "-");
+        this.codeMap.put("U", "..-");
+        this.codeMap.put("V", "...-");
+        this.codeMap.put("W", ".--");
+        this.codeMap.put("X", "-..-");
+        this.codeMap.put("Y", "-.--");
+        this.codeMap.put("Z", "--..");
+        this.codeMap.put(" ", "-...-");
+        this.codeMap.put("1", ".----");
+        this.codeMap.put("2", "..---");
+        this.codeMap.put("3", "...--");
+        this.codeMap.put("4", "....-");
+        this.codeMap.put("5", ".....");
+        this.codeMap.put("6", "-....");
+        this.codeMap.put("7", "--...");
+        this.codeMap.put("8", "---..");
+        this.codeMap.put("9", "----.");
+        this.codeMap.put("0", "-----");
+    }
 
-	/**
-	 * Diese Funktion ueberprueft ob der uebergebene Buchstabe in der codeMap enthalten ist.
-	 * Wenn er enthalten ist, wird der zugehoerige Morsecode zurueck gegeben, ansonsten null.
-	 *
-	 * @param buchstabe : char : Zu uebersetzender Buchstabe
-	 * @return String : Der zugehoerige Morsecode aus der codeMap
-	 */
-	private String getMorsecode(char buchstabe) {
-		return this.codeMap.getOrDefault(String.valueOf(buchstabe).toUpperCase(), null);
-	}
+    /**
+     * Diese Funktion ueberprueft ob der uebergebene Buchstabe in der codeMap enthalten ist.
+     * Wenn er enthalten ist, wird der zugehoerige Morsecode zurueck gegeben, ansonsten null.
+     *
+     * @param buchstabe : char : Zu uebersetzender Buchstabe
+     * @return String : Der zugehoerige Morsecode aus der codeMap
+     */
+    private String getMorsecode(char buchstabe) {
+        return this.codeMap.getOrDefault(String.valueOf(buchstabe).toUpperCase(), null);
+    }
 
-	/**
-	 * Der uebergebene String wird in seine einzelnen Zeichen (char) zerlegt und an die Funktion getMorsecode
-	 * uebergeben und der zugehoerige Morsecode raus gesucht.
-	 * Mittels eines StringBuilders werden die Ergebnisse zu einem Rückgabe String zusammen gesetzt.
-	 * Wenn kein zugehoeriger Code in der codeMap gefunden wurde, wird das Zeichen ignoriert da es bei der
-	 * Enigma nicht vorhanden war.
-	 *
-	 * @param input : String : Zu konvertierender Text
-	 * @return String : Der in Morsecode konvertierte Text
-	 */
-	public String convertBuchstabeToMorsecode(String input) {
-		StringBuilder sb = new StringBuilder();
-		String morsecode;
+    /**
+     * Der uebergebene String wird in seine einzelnen Zeichen (char) zerlegt und an die Funktion getMorsecode
+     * uebergeben und der zugehoerige Morsecode raus gesucht.
+     * Mittels eines StringBuilders werden die Ergebnisse zu einem Rückgabe String zusammen gesetzt.
+     * Wenn kein zugehoeriger Code in der codeMap gefunden wurde, wird das Zeichen ignoriert da es bei der
+     * Enigma nicht vorhanden war.
+     *
+     * @param input : String : Zu konvertierender Text
+     * @return String : Der in Morsecode konvertierte Text
+     */
+    public String convertBuchstabeToMorsecode(String input) {
+        StringBuilder sb = new StringBuilder();
+        String morsecode;
 
-		// Durch alle char im uebergebenen String loopen
-		for (int i = 0; i < input.length(); i++) {
-			morsecode = this.getMorsecode(input.charAt(i));
-			if (morsecode != null) {
-				sb.append(morsecode).append(' ');
-			}
-		}
+        // Durch alle char im uebergebenen String loopen
+        for (int i = 0; i < input.length(); i++) {
+            morsecode = this.getMorsecode(input.charAt(i));
+            if (morsecode != null) {
+                sb.append(morsecode).append(' ');
+            }
+        }
 
-		return sb.toString();
-	}
+        return sb.toString();
+    }
 
-	/**
-	 * Diese Funktion ueberprueft ob der uebergebene Morsecode in der codeMap enthalten ist.
-	 * Wenn er enthalten ist, wird der zugehoerige Buchstabe zurueck gegeben, ansonsten null
-	 *
-	 * @param morsecode : String : Der zu uebersetzende Morsecode
-	 * @return : String : Der zugehoerige Buchstabe aus der codeMap
-	 */
-	private String getBuchstabe(String morsecode) {
-		String result = null;
+    /**
+     * Diese Funktion ueberprueft ob der uebergebene Morsecode in der codeMap enthalten ist.
+     * Wenn er enthalten ist, wird der zugehoerige Buchstabe zurueck gegeben, ansonsten null
+     *
+     * @param morsecode : String : Der zu uebersetzende Morsecode
+     * @return : String : Der zugehoerige Buchstabe aus der codeMap
+     */
+    private String getBuchstabe(String morsecode) {
+        String result = null;
 
-		// Loopt duch die codeMap und erstellt daraus ein Set
-		for (Entry<String, String> entry : this.codeMap.entrySet()) {
-			if (entry.getValue().equals(morsecode)) {
-				result = entry.getKey();
-			}
-		}
+        // Loopt duch die codeMap und erstellt daraus ein Set
+        for (Entry<String, String> entry : this.codeMap.entrySet()) {
+            if (entry.getValue().equals(morsecode)) {
+                result = entry.getKey();
+            }
+        }
 
-		return result;
-	}
+        return result;
+    }
 
-	/**
-	 * Der uebergebene String wird in ein String Array zerlegt. Als Trennzeichen wird das Leerzeichen genutzt.
-	 * Anschließend wird das Array durchlaufen und die Elemente an die Funktion getBuchstabe uebergeben um den
-	 * zugehoerigen Buchstaben zu erhalten.
-	 * Mittels eines StringBuilders werden die Ergebnisse zu einem Rueckgabe String zusammengesetzt.
-	 * Wenn kein zugehoeriger Buchstabe in der codeMap gefunden wurde, wird das Zeichen ignoriert da es bei der
-	 * Enigma nicht vorhanden war.
-	 *
-	 * @param input : String : Zu konvertierender Morsecode
-	 * @return String : Der in Text konvertierte Morsecode
-	 */
-	public String convertMorsecodeToBuchstabe(String input) {
-		StringBuilder sb = new StringBuilder();
-		String buchstabe;
+    /**
+     * Der uebergebene String wird in ein String Array zerlegt. Als Trennzeichen wird das Leerzeichen genutzt.
+     * Anschließend wird das Array durchlaufen und die Elemente an die Funktion getBuchstabe uebergeben um den
+     * zugehoerigen Buchstaben zu erhalten.
+     * Mittels eines StringBuilders werden die Ergebnisse zu einem Rueckgabe String zusammengesetzt.
+     * Wenn kein zugehoeriger Buchstabe in der codeMap gefunden wurde, wird das Zeichen ignoriert da es bei der
+     * Enigma nicht vorhanden war.
+     *
+     * @param input : String : Zu konvertierender Morsecode
+     * @return String : Der in Text konvertierte Morsecode
+     */
+    public String convertMorsecodeToBuchstabe(String input) {
+        StringBuilder sb = new StringBuilder();
+        String buchstabe;
 
-		String[] morsecodes = input.split(" ");
+        String[] morsecodes = input.split(" ");
 
-		// Durch alle char im uebergebenen String loopen
-		for (String morsecode : morsecodes) {
-			buchstabe = this.getBuchstabe(morsecode);
-			if (buchstabe != null) {
-				sb.append(buchstabe);
-			}
-		}
+        // Durch alle char im uebergebenen String loopen
+        for (String morsecode : morsecodes) {
+            buchstabe = this.getBuchstabe(morsecode);
+            if (buchstabe != null) {
+                sb.append(buchstabe);
+            }
+        }
 
-		return sb.toString();
-	}
+        return sb.toString();
+    }
 }
diff --git a/src/main/java/projekt/enigma/model/Steckbrett.java b/src/main/java/projekt/enigma/model/Steckbrett.java
index aae70e4ffde4f36ac4927ccdea78e05904a31832..727973d32a46aebcc060af83e198c41898c4a92c 100644
--- a/src/main/java/projekt/enigma/model/Steckbrett.java
+++ b/src/main/java/projekt/enigma/model/Steckbrett.java
@@ -1,7 +1,6 @@
 package projekt.enigma.model;
 
 /**
- * TODO: Dokumentation aktuallisieren
  * <p>
  * Klasse Steckbrett
  * <br>
@@ -77,8 +76,8 @@ public class Steckbrett {
      */
     public boolean setzeVertauschung(int steckbrettPort, char buchstabe1, char buchstabe2) {
         if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) {
-            originalBuchstaben.replace(originalBuchstaben.charAt(steckbrettPort), buchstabe1);
-            getauschteBuchstaben.replace(getauschteBuchstaben.charAt(steckbrettPort), buchstabe2);
+            originalBuchstaben = originalBuchstaben.replace(originalBuchstaben.charAt(steckbrettPort), buchstabe1);
+            getauschteBuchstaben = getauschteBuchstaben.replace(getauschteBuchstaben.charAt(steckbrettPort), buchstabe2);
             return true;
         } else {
             return false;
@@ -118,7 +117,7 @@ public class Steckbrett {
     public char codiere(Character buchstabe) {
         if (originalBuchstaben.contains(String.valueOf(buchstabe))) {
             return getauschteBuchstaben.charAt(originalBuchstaben.indexOf(buchstabe));
-        } else if(getauschteBuchstaben.contains(String.valueOf(buchstabe))) {
+        } else if (getauschteBuchstaben.contains(String.valueOf(buchstabe))) {
             return originalBuchstaben.charAt(getauschteBuchstaben.indexOf(buchstabe));
         } else {
             return buchstabe;
diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
index cc0aa8f983dbb9b2d96086cc4111667cb2a2f3fe..b064f6910f70aed6d735be95af321c65406ec622 100644
--- a/src/main/java/projekt/enigma/model/Walze.java
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -17,9 +17,8 @@ public class Walze {
 	//region Variablen
 	/**
 	 * Die Anzahl der getaetigten Walzen Drehungen
-	 * TODO: Wieder auf private setzen
 	 */
-	public int turns;
+	private int turns;
 	/**
 	 * Das String Array aller bekannter aktueller Walzen
 	 */
@@ -70,7 +69,6 @@ public class Walze {
 	 *
 	 * @param richtung : int : 1 dreht die Walze weiter und -1 dreht sie einen Schritt zurueck
 	 * @return checkRing : boolean : gibt true zurueck wenn der Umspringpunkt erreicht wurde
-	 * TODO: Doku
 	 */
 	public boolean dreheWalze(int richtung) {
 		boolean checkRing = false;
@@ -155,7 +153,6 @@ public class Walze {
 	}
 
 	/**
-	 * * TODO: Funktionsname hat sich geändert
 	 * Stellt die Grundeinstellung der Walze ein.
 	 * Ermittelt, wie oft die Walze gedreht werden muss, bis die Grundeinstellung erreicht ist.
 	 *
diff --git a/src/main/java/projekt/enigma/threads/ThreadApp.java b/src/main/java/projekt/enigma/threads/ThreadApp.java
deleted file mode 100644
index faae51d0d9abcd7c5b97b3fb6e4b3e0d79e49857..0000000000000000000000000000000000000000
--- a/src/main/java/projekt/enigma/threads/ThreadApp.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package projekt.enigma.threads;
-
-import projekt.enigma.App;
-
-/**
- * Thread fuer die Benutzeroberflaeche, wird durch das Interface Runnable erweitert
- */
-public class ThreadApp implements Runnable {
-    private String[] args;
-
-    /**
-     * Ueberschriebene Funktion - fuehrt die Klasse App aus
-     */
-    @Override
-    public void run() {
-        System.out.println("ThreadApp " + Thread.currentThread());
-        App app = new App();
-        app.main(args);
-
-    }
-}
diff --git a/src/main/java/projekt/enigma/threads/ThreadFunkraum.java b/src/main/java/projekt/enigma/threads/ThreadFunkraum.java
deleted file mode 100644
index de29d542844c7821056d85b39cdc646ce3dd1f70..0000000000000000000000000000000000000000
--- a/src/main/java/projekt/enigma/threads/ThreadFunkraum.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package projekt.enigma.threads;
-
-import projekt.enigma.model.Codierer;
-import projekt.enigma.model.Funkraum;
-
-/**
- * Thread fuer den Funkraum, wird durch das Interface Runnable erweitert
- */
-public class ThreadFunkraum implements Runnable {
-    String kenngruppe;
-
-    public ThreadFunkraum(String kenngruppe) {
-        this.kenngruppe = kenngruppe;
-    }
-
-    /**
-     * Ueberschriebene Funktion - fuehrt die Klasse Funkraum aus und startet die Methode empfangeFunkspruch
-     */
-    @Override
-    public void run() {
-        Funkraum funkraum = new Funkraum();
-        System.out.println("Threadfunkraum" + Thread.currentThread());
-        funkraum.empfangeFunkspruch(this.kenngruppe);
-    }
-}
-
diff --git a/src/main/resources/projekt/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml
index b7eb6079acf19965b9ce46ba8f9df1f6f4352004..403956b54e3befb51708621f7b775174cf74da67 100644
--- a/src/main/resources/projekt/enigma/gui.fxml
+++ b/src/main/resources/projekt/enigma/gui.fxml
@@ -5,876 +5,811 @@
 <?import javafx.scene.layout.*?>
 <?import javafx.scene.shape.*?>
 <?import javafx.scene.text.*?>
-
 <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0"
             prefWidth="962.0" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1"
             fx:controller="projekt.enigma.GuiController">
-    <children>
-        <GridPane layoutX="23.0" layoutY="60.0" prefHeight="158.0" prefWidth="237.0" AnchorPane.leftAnchor="23.0"
-                  AnchorPane.topAnchor="60.0">
-            <columnConstraints>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-            </columnConstraints>
-            <rowConstraints>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-            </rowConstraints>
-            <children>
-                <Label text="Walze"/>
-                <Label text="Ringe" GridPane.rowIndex="1"/>
-                <Label text="Position" GridPane.rowIndex="2"/>
-                <MenuButton fx:id="mBtnWalzPos1" alignment="CENTER_RIGHT" contentDisplay="CENTER"
-                            mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I"
-                            GridPane.columnIndex="1">
-                </MenuButton>
-                <MenuButton fx:id="mBtnWalzPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="2">
-                </MenuButton>
-                <MenuButton fx:id="mBtnWalzPos3" mnemonicParsing="false" popupSide="TOP" prefHeight="25.0"
-                            prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="3">
-                </MenuButton>
-                <MenuButton fx:id="mBtnNotchPos1" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="1"
-                            GridPane.rowIndex="1"/>
-                <MenuButton fx:id="mBtnNotchPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="2"
-                            GridPane.rowIndex="1">
-                </MenuButton>
-                <!--      <MenuButton layoutX="93.0" layoutY="114.0" mnemonicParsing="false">-->
-                <!--         <items>-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z1" text="1" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z2" text="2" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z3" text="3" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z4" text="4" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z5" text="5" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z6" text="6" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z7" text="7" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z8" text="8" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z9" text="9" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z10" text="10" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z11" text="11" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z12" text="12" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z13" text="13" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z14" text="14" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z15" text="15" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z16" text="16" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z17" text="17" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z18" text="18" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z19" text="19" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z20" text="20" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z21" text="21" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z22" text="22" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z23" text="23" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z24" text="24" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z25" text="25" />-->
-                <!--            <MenuItem mnemonicParsing="false" onAction="#z26" text="26" />-->
-                <!--         </items>-->
-                <!--      </MenuButton>-->
-                <MenuButton fx:id="mBtnNotchPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="3"
-                            GridPane.rowIndex="1">
-                </MenuButton>
-                <MenuButton fx:id="mBtnStartPos1" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="1"
-                            GridPane.rowIndex="2">
-                </MenuButton>
-                <MenuButton fx:id="mBtnStartPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="2"
-                            GridPane.rowIndex="2">
-                </MenuButton>
-                <MenuButton fx:id="mBtnStartPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
-                            prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="3"
-                            GridPane.rowIndex="2">
-                </MenuButton>
-            </children>
-        </GridPane>
-        <GridPane layoutX="23.0" layoutY="222.0" prefHeight="60.0" prefWidth="270.0" AnchorPane.leftAnchor="23.0"
-                  AnchorPane.topAnchor="222.0">
-            <columnConstraints>
-                <ColumnConstraints hgrow="SOMETIMES" maxWidth="206.0" minWidth="10.0" prefWidth="102.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" maxWidth="224.0" minWidth="10.0" prefWidth="168.0"/>
-            </columnConstraints>
-            <rowConstraints>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-            </rowConstraints>
-            <children>
-                <Label alignment="CENTER_RIGHT"/>
-                <Label text="Spruchschlüssel:"/>
-                <Label fx:id="lblTagesschluessel" prefHeight="17.0" prefWidth="181.0" GridPane.columnIndex="1"/>
-                <Label fx:id="lblSpruchschluessel" prefHeight="17.0" prefWidth="181.0" GridPane.columnIndex="1"/>
-                <Button fx:id="btnReset" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Zurücksetzen"
-                        GridPane.rowIndex="1"/>
-            </children>
-        </GridPane>
-        <GridPane fx:id="mainGrid" layoutX="6.0" layoutY="294.0" prefHeight="377.0" prefWidth="952.0"
-                  AnchorPane.bottomAnchor="6.0" AnchorPane.leftAnchor="6.0" AnchorPane.rightAnchor="9.0"
-                  AnchorPane.topAnchor="294.0">
-            <columnConstraints>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-            </columnConstraints>
-            <rowConstraints>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-            </rowConstraints>
-            <children>
-                <Button fx:id="btnA" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="A" textFill="#fffdfd"
-                        GridPane.columnIndex="2" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnP" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="P" textFill="#fffdfd"
-                        GridPane.columnIndex="1" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnY" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Y" textFill="#fffdfd"
-                        GridPane.columnIndex="2" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnX" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="X" textFill="#fffdfd"
-                        GridPane.columnIndex="3" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnC" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="C" textFill="#fffdfd"
-                        GridPane.columnIndex="4" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnV" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="V" textFill="#fffdfd"
-                        GridPane.columnIndex="5" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnB" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="B" textFill="#fffdfd"
-                        GridPane.columnIndex="6" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnN" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="N" textFill="#fffdfd"
-                        GridPane.columnIndex="7" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnM" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="M" textFill="#fffdfd"
-                        GridPane.columnIndex="8" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnL" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="L" textFill="#fffdfd"
-                        GridPane.columnIndex="9" GridPane.rowIndex="6">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnS" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="S" textFill="#fffdfd"
-                        GridPane.columnIndex="3" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnD" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="D" textFill="#fffdfd"
-                        GridPane.columnIndex="4" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnF" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="F" textFill="#fffdfd"
-                        GridPane.columnIndex="5" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnG" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="G" textFill="#fffdfd"
-                        GridPane.columnIndex="6" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnH" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="H" textFill="#fffdfd"
-                        GridPane.columnIndex="7" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnJ" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="J" textFill="#fffdfd"
-                        GridPane.columnIndex="8" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnK" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="K" textFill="#fffdfd"
-                        GridPane.columnIndex="9" GridPane.rowIndex="5">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                </Button>
-                <Button fx:id="btnQ" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Q" textFill="#fffdfd"
-                        GridPane.columnIndex="1" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnW" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="W" textFill="#fffdfd"
-                        GridPane.columnIndex="2" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnE" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="E" textFill="#fffdfd"
-                        GridPane.columnIndex="3" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnR" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="R" textFill="#fffdfd"
-                        GridPane.columnIndex="4" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnT" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="T" textFill="#fffdfd"
-                        GridPane.columnIndex="5" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnZ" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Z" textFill="#fffdfd"
-                        GridPane.columnIndex="6" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnU" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="U" textFill="#fffdfd"
-                        GridPane.columnIndex="7" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnI" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="I" textFill="#fffdfd"
-                        GridPane.columnIndex="8" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnO" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
-                        onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="O" textFill="#fffdfd"
-                        GridPane.columnIndex="9" GridPane.rowIndex="4">
-                    <font>
-                        <Font name="System Bold" size="18.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnDelete" minHeight="35.0" mnemonicParsing="false" onAction="#gedrueckteTaste"
-                        prefHeight="43.0" prefWidth="45.0"
-                        style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="&lt;"
-                        textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="5">
-                    <font>
-                        <Font size="18.0"/>
-                    </font>
-                </Button>
-                <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="1">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circP" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="1" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circY" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="2" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circA" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="2" GridPane.rowIndex="1"/>
-                <Circle fx:id="circS" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="3" GridPane.rowIndex="1"/>
-                <Circle fx:id="circX" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="3" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="3">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circD" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="4" GridPane.rowIndex="1"/>
-                <Circle fx:id="circC" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="4" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circV" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="5" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circB" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="6" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circN" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="7" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circM" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="8" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circL" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="9" GridPane.rowIndex="2">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circF" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="5" GridPane.rowIndex="1"/>
-                <Circle fx:id="circG" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="6" GridPane.rowIndex="1"/>
-                <Circle fx:id="circH" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="7" GridPane.rowIndex="1"/>
-                <Circle fx:id="circJ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="8" GridPane.rowIndex="1"/>
-                <Circle fx:id="circK" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="9" GridPane.rowIndex="1"/>
-                <Circle fx:id="circR" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="4">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circT" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="5">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="6">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="7">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="8">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                        GridPane.columnIndex="9">
-                    <GridPane.margin>
-                        <Insets left="34.0"/>
-                    </GridPane.margin>
-                </Circle>
-                <Label fx:id="lblL" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="L"
-                       GridPane.columnIndex="9" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblM" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="M"
-                       GridPane.columnIndex="8" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblN" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="N"
-                       GridPane.columnIndex="7" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblB" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="B"
-                       GridPane.columnIndex="6" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblV" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="V"
-                       GridPane.columnIndex="5" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblC" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="C"
-                       GridPane.columnIndex="4" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblX" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="X"
-                       GridPane.columnIndex="3" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblY" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="Y"
-                       GridPane.columnIndex="2" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="41.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblP" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="P"
-                       GridPane.columnIndex="1" GridPane.rowIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="5.0" left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblK" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="K"
-                       GridPane.columnIndex="9" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblJ" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="J"
-                       GridPane.columnIndex="8" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblH" alignment="CENTER" minHeight="0.0" prefHeight="27.0" prefWidth="25.0" text="H"
-                       GridPane.columnIndex="7" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="4.0" left="9.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblG" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="G"
-                       GridPane.columnIndex="6" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblF" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="F"
-                       GridPane.columnIndex="5" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblD" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="D"
-                       GridPane.columnIndex="4" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblS" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="S"
-                       GridPane.columnIndex="3" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblA" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="A"
-                       GridPane.columnIndex="2" GridPane.rowIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets bottom="2.0" left="7.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblO" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="O"
-                       textAlignment="CENTER" GridPane.columnIndex="9">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblI" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I"
-                       textAlignment="CENTER" GridPane.columnIndex="8">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblU" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U"
-                       textAlignment="CENTER" GridPane.columnIndex="7">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblZ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z"
-                       textAlignment="CENTER" GridPane.columnIndex="6">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblT" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T"
-                       textAlignment="CENTER" GridPane.columnIndex="5">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblR" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R"
-                       textAlignment="CENTER" GridPane.columnIndex="4">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblE" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E"
-                       textAlignment="CENTER" GridPane.columnIndex="3">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblW" alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W"
-                       GridPane.columnIndex="2">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Label fx:id="lblQ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q"
-                       GridPane.columnIndex="1">
-                    <font>
-                        <Font size="23.0"/>
-                    </font>
-                    <GridPane.margin>
-                        <Insets left="42.0"/>
-                    </GridPane.margin>
-                </Label>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane0" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane1" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="3" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane2" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="4" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane3" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="5" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane4" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="6" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane5" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="7" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane6" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="8" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane7" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="9" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane8" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-                <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="10" GridPane.rowIndex="7">
-                    <children>
-                        <Pane fx:id="portPane9" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
-                              style="-fx-background-color: lightgrey;"/>
-                    </children>
-                </Pane>
-            </children>
-        </GridPane>
-        <GridPane layoutX="297.0" layoutY="64.0" prefHeight="168.0" prefWidth="585.0">
-            <columnConstraints>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
-            </columnConstraints>
-            <rowConstraints>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
-            </rowConstraints>
-            <children>
-                <TextField fx:id="tfKlartext" editable="false" prefHeight="70.0" prefWidth="293.0">
-                    <GridPane.margin>
-                        <Insets/>
-                    </GridPane.margin>
-                </TextField>
-                <TextField fx:id="tfCodiert" editable="false" prefHeight="70.0" prefWidth="293.0"
-                           GridPane.rowIndex="1"/>
-                <Button fx:id="btnSenden" alignment="CENTER" contentDisplay="RIGHT" mnemonicParsing="false"
-                        onAction="#gedrueckteTaste" prefHeight="70.0" prefWidth="195.0" text="An Funker senden"
-                        textAlignment="CENTER" GridPane.columnIndex="1">
-                    <GridPane.margin>
-                        <Insets left="80.0"/>
-                    </GridPane.margin>
-                </Button>
-                <Button fx:id="btnEmpfangen" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="70.0"
-                        prefWidth="195.0" text="Funkspruch empfangen" GridPane.columnIndex="1" GridPane.rowIndex="1">
-                    <GridPane.margin>
-                        <Insets left="80.0"/>
-                    </GridPane.margin>
-                </Button>
-            </children>
-        </GridPane>
-        <Label fx:id="lblKenngruppe" layoutX="682.0" layoutY="34.0" prefHeight="17.0" prefWidth="177.0"
-               style="-fx-border-color: #000000;"/>
-        <Pane fx:id="paneProgress" layoutX="266.0" layoutY="194.0" prefHeight="200.0" prefWidth="354.0"
-              style="-fx-background-color: white; -fx-border-color: black;" visible="false">
-            <children>
-                <ProgressIndicator fx:id="piProgress" layoutX="127.0" layoutY="70.0" prefHeight="99.0"
-                                   prefWidth="101.0"/>
-                <Label fx:id="lblProgressText" layoutX="79.0" layoutY="27.0" text="Kommunikation mit Funkraum...">
-                    <font>
-                        <Font size="14.0"/>
-                    </font>
-                </Label>
-            </children>
+    <GridPane layoutX="23.0" layoutY="60.0" prefHeight="158.0" prefWidth="237.0" AnchorPane.leftAnchor="23.0"
+              AnchorPane.topAnchor="60.0">
+        <columnConstraints>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+        </columnConstraints>
+        <rowConstraints>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+        </rowConstraints>
+        <Label text="Walze"/>
+        <Label text="Ringe" GridPane.rowIndex="1"/>
+        <Label text="Position" GridPane.rowIndex="2"/>
+        <MenuButton fx:id="mBtnWalzPos1" alignment="CENTER_RIGHT" contentDisplay="CENTER"
+                    mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I"
+                    GridPane.columnIndex="1">
+        </MenuButton>
+        <MenuButton fx:id="mBtnWalzPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="2">
+        </MenuButton>
+        <MenuButton fx:id="mBtnWalzPos3" mnemonicParsing="false" popupSide="TOP" prefHeight="25.0"
+                    prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="3">
+        </MenuButton>
+        <MenuButton fx:id="mBtnNotchPos1" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="1"
+                    GridPane.rowIndex="1"/>
+        <MenuButton fx:id="mBtnNotchPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="2"
+                    GridPane.rowIndex="1">
+        </MenuButton>
+        <MenuButton fx:id="mBtnNotchPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="3"
+                    GridPane.rowIndex="1">
+        </MenuButton>
+        <MenuButton fx:id="mBtnStartPos1" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="1"
+                    GridPane.rowIndex="2">
+        </MenuButton>
+        <MenuButton fx:id="mBtnStartPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="2"
+                    GridPane.rowIndex="2">
+        </MenuButton>
+        <MenuButton fx:id="mBtnStartPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0"
+                    prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="3"
+                    GridPane.rowIndex="2">
+        </MenuButton>
+    </GridPane>
+    <GridPane layoutX="23.0" layoutY="222.0" prefHeight="60.0" prefWidth="270.0" AnchorPane.leftAnchor="23.0"
+              AnchorPane.topAnchor="222.0">
+        <columnConstraints>
+            <ColumnConstraints hgrow="SOMETIMES" maxWidth="206.0" minWidth="10.0" prefWidth="102.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" maxWidth="224.0" minWidth="10.0" prefWidth="168.0"/>
+        </columnConstraints>
+        <rowConstraints>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+        </rowConstraints>
+        <Label alignment="CENTER_RIGHT"/>
+        <Label text="Spruchschlüssel:"/>
+        <Label fx:id="lblSpruchschluessel" prefHeight="17.0" prefWidth="181.0" GridPane.columnIndex="1"/>
+        <Button fx:id="btnReset" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Zurücksetzen"
+                GridPane.rowIndex="1"/>
+    </GridPane>
+    <GridPane fx:id="mainGrid" layoutX="6.0" layoutY="294.0" prefHeight="377.0" prefWidth="952.0"
+              AnchorPane.bottomAnchor="6.0" AnchorPane.leftAnchor="6.0" AnchorPane.rightAnchor="9.0"
+              AnchorPane.topAnchor="294.0">
+        <columnConstraints>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+        </columnConstraints>
+        <rowConstraints>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+        </rowConstraints>
+        <Button fx:id="btnA" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="A" textFill="#fffdfd"
+                GridPane.columnIndex="2" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnP" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="P" textFill="#fffdfd"
+                GridPane.columnIndex="1" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnY" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Y" textFill="#fffdfd"
+                GridPane.columnIndex="2" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnX" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="X" textFill="#fffdfd"
+                GridPane.columnIndex="3" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnC" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="C" textFill="#fffdfd"
+                GridPane.columnIndex="4" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnV" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="V" textFill="#fffdfd"
+                GridPane.columnIndex="5" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnB" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="B" textFill="#fffdfd"
+                GridPane.columnIndex="6" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnN" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="N" textFill="#fffdfd"
+                GridPane.columnIndex="7" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnM" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="M" textFill="#fffdfd"
+                GridPane.columnIndex="8" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnL" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="L" textFill="#fffdfd"
+                GridPane.columnIndex="9" GridPane.rowIndex="6">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnS" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="S" textFill="#fffdfd"
+                GridPane.columnIndex="3" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnD" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="D" textFill="#fffdfd"
+                GridPane.columnIndex="4" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnF" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="F" textFill="#fffdfd"
+                GridPane.columnIndex="5" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnG" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="G" textFill="#fffdfd"
+                GridPane.columnIndex="6" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnH" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="H" textFill="#fffdfd"
+                GridPane.columnIndex="7" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnJ" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="J" textFill="#fffdfd"
+                GridPane.columnIndex="8" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnK" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="K" textFill="#fffdfd"
+                GridPane.columnIndex="9" GridPane.rowIndex="5">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+        </Button>
+        <Button fx:id="btnQ" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Q" textFill="#fffdfd"
+                GridPane.columnIndex="1" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnW" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="W" textFill="#fffdfd"
+                GridPane.columnIndex="2" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnE" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="E" textFill="#fffdfd"
+                GridPane.columnIndex="3" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnR" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="R" textFill="#fffdfd"
+                GridPane.columnIndex="4" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnT" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="T" textFill="#fffdfd"
+                GridPane.columnIndex="5" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnZ" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Z" textFill="#fffdfd"
+                GridPane.columnIndex="6" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnU" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="U" textFill="#fffdfd"
+                GridPane.columnIndex="7" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnI" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="I" textFill="#fffdfd"
+                GridPane.columnIndex="8" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnO" minHeight="35.0" mnemonicParsing="false" onMousePressed="#tasteRunter"
+                onMouseReleased="#tasteRauf" prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="O" textFill="#fffdfd"
+                GridPane.columnIndex="9" GridPane.rowIndex="4">
+            <font>
+                <Font name="System Bold" size="18.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnDelete" minHeight="35.0" mnemonicParsing="false" onAction="#gedrueckteTaste"
+                prefHeight="43.0" prefWidth="45.0"
+                style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="&lt;"
+                textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="5">
+            <font>
+                <Font size="18.0"/>
+            </font>
+        </Button>
+        <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="1">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circP" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="1" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circY" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="2" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circA" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="2" GridPane.rowIndex="1"/>
+        <Circle fx:id="circS" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="3" GridPane.rowIndex="1"/>
+        <Circle fx:id="circX" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="3" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="3">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circD" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="4" GridPane.rowIndex="1"/>
+        <Circle fx:id="circC" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="4" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circV" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="5" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circB" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="6" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circN" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="7" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circM" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="8" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circL" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="9" GridPane.rowIndex="2">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circF" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="5" GridPane.rowIndex="1"/>
+        <Circle fx:id="circG" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="6" GridPane.rowIndex="1"/>
+        <Circle fx:id="circH" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="7" GridPane.rowIndex="1"/>
+        <Circle fx:id="circJ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="8" GridPane.rowIndex="1"/>
+        <Circle fx:id="circK" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="9" GridPane.rowIndex="1"/>
+        <Circle fx:id="circR" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="4">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circT" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="5">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="6">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="7">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="8">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
+                GridPane.columnIndex="9">
+            <GridPane.margin>
+                <Insets left="34.0"/>
+            </GridPane.margin>
+        </Circle>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="L"
+               GridPane.columnIndex="9" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="M"
+               GridPane.columnIndex="8" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="N"
+               GridPane.columnIndex="7" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="B"
+               GridPane.columnIndex="6" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="V"
+               GridPane.columnIndex="5" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="C"
+               GridPane.columnIndex="4" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="X"
+               GridPane.columnIndex="3" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="Y"
+               GridPane.columnIndex="2" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="41.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="P"
+               GridPane.columnIndex="1" GridPane.rowIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="5.0" left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="K"
+               GridPane.columnIndex="9" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="J"
+               GridPane.columnIndex="8" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="27.0" prefWidth="25.0" text="H"
+               GridPane.columnIndex="7" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="4.0" left="9.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="G"
+               GridPane.columnIndex="6" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="F"
+               GridPane.columnIndex="5" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="D"
+               GridPane.columnIndex="4" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="S"
+               GridPane.columnIndex="3" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="A"
+               GridPane.columnIndex="2" GridPane.rowIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets bottom="2.0" left="7.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="O"
+               textAlignment="CENTER" GridPane.columnIndex="9">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I"
+               textAlignment="CENTER" GridPane.columnIndex="8">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U"
+               textAlignment="CENTER" GridPane.columnIndex="7">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z"
+               textAlignment="CENTER" GridPane.columnIndex="6">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T"
+               textAlignment="CENTER" GridPane.columnIndex="5">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R"
+               textAlignment="CENTER" GridPane.columnIndex="4">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E"
+               textAlignment="CENTER" GridPane.columnIndex="3">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W"
+               GridPane.columnIndex="2">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q"
+               GridPane.columnIndex="1">
+            <font>
+                <Font size="23.0"/>
+            </font>
+            <GridPane.margin>
+                <Insets left="42.0"/>
+            </GridPane.margin>
+        </Label>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
+            <Pane fx:id="portPane0" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="7">
+            <Pane fx:id="portPane1" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="3" GridPane.rowIndex="7">
+            <Pane fx:id="portPane2" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="4" GridPane.rowIndex="7">
+            <Pane fx:id="portPane3" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="5" GridPane.rowIndex="7">
+            <Pane fx:id="portPane4" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="6" GridPane.rowIndex="7">
+            <Pane fx:id="portPane5" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="7" GridPane.rowIndex="7">
+            <Pane fx:id="portPane6" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="8" GridPane.rowIndex="7">
+            <Pane fx:id="portPane7" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="9" GridPane.rowIndex="7">
+            <Pane fx:id="portPane8" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
+        </Pane>
+        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="10" GridPane.rowIndex="7">
+            <Pane fx:id="portPane9" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0"
+                  style="-fx-background-color: lightgrey;" visible="false"/>
         </Pane>
-    </children>
+    </GridPane>
+    <GridPane layoutX="297.0" layoutY="64.0" prefHeight="168.0" prefWidth="585.0">
+        <columnConstraints>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+        </columnConstraints>
+        <rowConstraints>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
+        </rowConstraints>
+        <TextField fx:id="tfKlartext" editable="false" prefHeight="70.0" prefWidth="293.0">
+            <GridPane.margin>
+                <Insets/>
+            </GridPane.margin>
+        </TextField>
+        <TextField fx:id="tfCodiert" editable="false" prefHeight="70.0" prefWidth="293.0"
+                   GridPane.rowIndex="1"/>
+        <Button fx:id="btnSenden" alignment="CENTER" contentDisplay="RIGHT" mnemonicParsing="false"
+                onAction="#gedrueckteTaste" prefHeight="70.0" prefWidth="195.0" text="An Funker senden"
+                textAlignment="CENTER" GridPane.columnIndex="1">
+            <GridPane.margin>
+                <Insets left="80.0"/>
+            </GridPane.margin>
+        </Button>
+        <Button fx:id="btnEmpfangen" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="70.0"
+                prefWidth="195.0" text="Funkspruch empfangen" GridPane.columnIndex="1" GridPane.rowIndex="1">
+            <GridPane.margin>
+                <Insets left="80.0"/>
+            </GridPane.margin>
+        </Button>
+    </GridPane>
+    <Label fx:id="lblKenngruppe" layoutX="682.0" layoutY="34.0" prefHeight="17.0" prefWidth="177.0"/>
+    <Pane layoutX="266.0" layoutY="194.0" prefHeight="200.0" prefWidth="354.0"
+          style="-fx-background-color: white; -fx-border-color: black;" visible="false">
+        <ProgressIndicator layoutX="127.0" layoutY="70.0" prefHeight="99.0"
+                           prefWidth="101.0"/>
+        <Label layoutX="79.0" layoutY="27.0" text="Kommunikation mit Funkraum...">
+            <font>
+                <Font size="14.0"/>
+            </font>
+        </Label>
+    </Pane>
 </AnchorPane>
diff --git a/src/main/resources/projekt/enigma/kenngruppe.fxml b/src/main/resources/projekt/enigma/kenngruppe.fxml
deleted file mode 100644
index 019c9c177e31b671dfd904d3396474510999c159..0000000000000000000000000000000000000000
--- a/src/main/resources/projekt/enigma/kenngruppe.fxml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import javafx.scene.control.Button?>
-<?import javafx.scene.control.Label?>
-<?import javafx.scene.control.TextField?>
-<?import javafx.scene.layout.AnchorPane?>
-<?import javafx.scene.layout.VBox?>
-
-<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="137.0" prefWidth="234.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.KenngruppeController">
-   <children>
-      <VBox layoutX="13.0" layoutY="20.0" prefHeight="107.0" prefWidth="209.0" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="13.0" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="20.0">
-         <children>
-            <Label alignment="CENTER" contentDisplay="CENTER" prefHeight="17.0" prefWidth="208.0" text="Bitte Kenngruppe eingeben!" />
-            <Label prefHeight="62.0" prefWidth="209.0" />
-            <TextField fx:id="tfKenngruppe" />
-            <Label prefHeight="39.0" prefWidth="209.0" />
-            <Button maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" onAction="#btnGui" prefHeight="25.0" prefWidth="212.0" text="Kenngruppe setzen!" />
-         </children>
-      </VBox>
-   </children>
-</AnchorPane>
diff --git a/src/test/java/projekt/enigma/model/HardwareTest.java b/src/test/java/projekt/enigma/model/HardwareTest.java
index cec7b3fc3e2c029f9ceda25c22e08c77f99cd912..b87b63d349919848a0c11bc9cd3247cf567d3acb 100644
--- a/src/test/java/projekt/enigma/model/HardwareTest.java
+++ b/src/test/java/projekt/enigma/model/HardwareTest.java
@@ -29,25 +29,25 @@ public class HardwareTest {
 		h.setWalzen(1, 5, 25);
 		h.setWalzen(2, 1, 25);
 		result = h.codiere('A');
-		Assert.assertEquals("Codiere: A Erwartet P, erhalten " + result, 'P', result);
+		Assert.assertEquals("Codiere: A Erwartet N, erhalten " + result, 'N', result);
 		result = h.codiere('B');
-		Assert.assertEquals("Codiere: B Erwartet R, erhalten " + result, 'R', result);
+		Assert.assertEquals("Codiere: B Erwartet K, erhalten " + result, 'K', result);
 		result = h.codiere('I');
-		Assert.assertEquals("Codiere: I Erwartet E, erhalten " + result, 'E', result);
+		Assert.assertEquals("Codiere: I Erwartet V, erhalten " + result, 'V', result);
 		result = h.codiere('F');
-		Assert.assertEquals("Codiere: F Erwartet A, erhalten " + result, 'A', result);
+		Assert.assertEquals("Codiere: F Erwartet T, erhalten " + result, 'T', result);
 
 		h.setWalzen(0, 2, 25);
 		h.setWalzen(1, 5, 25);
 		h.setWalzen(2, 1, 25);
-		result = h.codiere('P');
-		Assert.assertEquals("Decodiere: P Erwartet A, erhalten " + result, 'A', result);
-		result = h.codiere('R');
-		Assert.assertEquals("Decodiere: R Erwartet B, erhalten " + result, 'B', result);
-		result = h.codiere('E');
-		Assert.assertEquals("Decodiere: E Erwartet I, erhalten " + result, 'I', result);
-		result = h.codiere('A');
-		Assert.assertEquals("Decodiere: A Erwartet F, erhalten " + result, 'F', result);
+		result = h.codiere('N');
+		Assert.assertEquals("Decodiere: N Erwartet A, erhalten " + result, 'A', result);
+		result = h.codiere('K');
+		Assert.assertEquals("Decodiere: K Erwartet B, erhalten " + result, 'B', result);
+		result = h.codiere('V');
+		Assert.assertEquals("Decodiere: V Erwartet I, erhalten " + result, 'I', result);
+		result = h.codiere('T');
+		Assert.assertEquals("Decodiere: T Erwartet F, erhalten " + result, 'F', result);
 
 		h.setWalzen(0, 2, 25);
 		h.setWalzen(1, 5, 25);
@@ -63,13 +63,13 @@ public class HardwareTest {
 		h.getSteckbrett().setzeVertauschung('E', 'S');
 
 		result = h.codiere('I');
-		Assert.assertEquals("Codiere: I Erwartet F, erhalten " + result, 'D', result);
+		Assert.assertEquals("Codiere: I Erwartet C, erhalten " + result, 'C', result);
 
 		h.setWalzen(0, 2, 25);
 		h.setWalzen(1, 5, 25);
 		h.setWalzen(2, 1, 25);
-		result = h.codiere('D');
-		Assert.assertEquals("Codiere: D Erwartet I, erhalten " + result, 'I', result);
+		result = h.codiere('C');
+		Assert.assertEquals("Codiere: C Erwartet I, erhalten " + result, 'I', result);
 
 		h.setWalzen(0, 2, 25);
 		h.setWalzen(1, 5, 25);
@@ -77,6 +77,6 @@ public class HardwareTest {
 		h.getSteckbrett().setzeVertauschung('A', 'B');
 		h.getSteckbrett().setzeVertauschung('C', 'D');
 		result = h.codiere('A');
-		Assert.assertEquals("Codiere: A Erwartet A, erhalten " + result, 'O', result);
+		Assert.assertEquals("Codiere: A Erwartet M, erhalten " + result, 'M', result);
 	}
 }
\ No newline at end of file