From 3273773b534bb611a49c266e34377c91942ec3fd Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Thu, 5 Dec 2019 15:36:58 +0100
Subject: [PATCH 1/2] =?UTF-8?q?Fenstergr=C3=B6=C3=9Fe=20nicht=20ver=C3=A4n?=
 =?UTF-8?q?derbar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/projekt/enigma/App.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/main/java/projekt/enigma/App.java b/src/main/java/projekt/enigma/App.java
index c27ee29..079b436 100644
--- a/src/main/java/projekt/enigma/App.java
+++ b/src/main/java/projekt/enigma/App.java
@@ -60,6 +60,8 @@ public class App extends Application {
     @Override
     public void start(Stage primaryStage) throws IOException {
         primaryStage.setTitle("Enigma");
+        primaryStage.setResizable(false);
+
         Label lblEingbae = new Label("Bitte Kenngruppe eingeben!");
         TextField tfEingabe = new TextField();
         Button btnKenngruppe = new Button("Kenngruppe setzen!");
-- 
GitLab


From 11b94fe15362359dfc700b6a333c44b4d0d988ae Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Thu, 5 Dec 2019 16:45:44 +0100
Subject: [PATCH 2/2] =?UTF-8?q?Checkbox=20Panel=20funktioniert=20jetzt=20e?=
 =?UTF-8?q?inigerma=C3=9Fen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/projekt/enigma/GuiController.java    | 184 ++---
 .../java/projekt/enigma/model/Codierer.java   |  15 +-
 .../java/projekt/enigma/model/Hardware.java   | 364 ++++-----
 src/main/java/projekt/enigma/model/Walze.java |   2 +-
 .../projekt/enigma/view/ChkBoxGridPane.java   |  53 +-
 src/main/resources/projekt/enigma/gui.fxml    | 725 +++++++-----------
 6 files changed, 551 insertions(+), 792 deletions(-)

diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
index 0bacfd4..64e863a 100644
--- a/src/main/java/projekt/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -3,18 +3,19 @@ package projekt.enigma;
 import javafx.concurrent.Task;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
+import javafx.geometry.HPos;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
 import javafx.scene.control.*;
 import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.AnchorPane;
 import javafx.scene.layout.GridPane;
-import javafx.scene.layout.Pane;
 import javafx.scene.shape.Circle;
 import javafx.stage.StageStyle;
-import org.apache.http.HttpException;
 import org.controlsfx.dialog.ProgressDialog;
 import projekt.enigma.model.Codierer;
 import projekt.enigma.model.Fehler;
+import projekt.enigma.view.ChkBoxGridPane;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -54,12 +55,13 @@ public class GuiController {
 	//deklariert die benötigten Textfelder
 	@FXML
 	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 ChkBoxGridPane[] chkBoxGridPane;
+	@FXML
 	private GridPane mainGrid;
+	@FXML
+	private AnchorPane anchorPane;
 
 	/**
 	 * Initialisiert die Elemente GUI und setzt deren Startwerte
@@ -71,7 +73,6 @@ public class GuiController {
 		textCodiert = "";
 		resetDisplay = true;
 
-
 		//Einträge für Walzen
 		menu(mBtnWalzPos1, walzenNr);
 		menu(mBtnWalzPos2, walzenNr);
@@ -86,24 +87,11 @@ public class GuiController {
 		menu(mBtnStartPos1, position);
 		menu(mBtnStartPos3, position);
 		menu(mBtnStartPos2, position);
-
-
-		myToggleButtons();
 	}
 	//endregion
 
 	//region Init
 
-	/**
-	 * Für das Steckbrett müssen zehn CheckComboBoxen erstellt werden.
-	 * 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);
-		}
-	}
-
 	/**
 	 * Die Funktion createSteckbrettPort erstellt zehn CheckComboBoxen, holt sich die verfügbaren Buchstaben,
 	 * die bereits gesteckten Kabel und weißt sie zu.
@@ -148,81 +136,74 @@ public class GuiController {
 		ArrayList<MenuItem> mItem = new ArrayList<>();
 
 		for (int i = 0; i < str.length; i++) {
-			//Eintrag aus str der Arraylist mi hinzufügen
+			// Eintrag aus str der Arraylist mi hinzufügen
 			mItem.add(new MenuItem(str[i]));
-			//MenuItem mi dem Button button hinzufügen
+			// MenuItem mi dem Button button hinzufügen
 			button.getItems().add(mItem.get(i));
 			int finalI = i;
-			//Listener für die einzelnen Einträge
+			// Listener für die einzelnen Einträge
 			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:
-				portPane0.setVisible(status);
-				break;
-			case 1:
-				portPane1.setVisible(status);
-				break;
-			case 2:
-				portPane2.setVisible(status);
-				break;
-			case 3:
-				portPane3.setVisible(status);
-				break;
-			case 4:
-				portPane4.setVisible(status);
-				break;
-			case 5:
-				portPane5.setVisible(status);
-				break;
-			case 6:
-				portPane6.setVisible(status);
-				break;
-			case 7:
-				portPane7.setVisible(status);
-				break;
-			case 8:
-				portPane8.setVisible(status);
-				break;
-			case 9:
-				portPane9.setVisible(status);
-				break;
-			default:
-
-				break;
+	private void myToggleButtons() {
+		// this.codierer.setzeSteckbrett()
+		if (chkBoxGridPane != null) {
+			for (ChkBoxGridPane boxGridPane : chkBoxGridPane) {
+				anchorPane.getChildren().remove(boxGridPane);
+			}
 		}
-	}
+		chkBoxGridPane = new ChkBoxGridPane[10];
 
-	/**
-	 * TODO: Doku
-	 */
-	private void myToggleButtons() {
 		final ToggleGroup cabelConnect = new ToggleGroup();
 		tBtnPort = new ToggleButton[10];
-		for (int i = 0; i < 10; i++) {
-			tBtnPort[i] = new ToggleButton(i + "Port");
-			tBtnPort[i].setAlignment(Pos.CENTER_RIGHT);
+
+		for (int i = 0; i < chkBoxGridPane.length; i++) {
+			char[] verfuegbareBuchstaben = this.codierer.fetchVerfuegbareBuchstaben(i).toCharArray();
+			char[] checkedBuchstaben = {
+					this.codierer.fetchSteckverbindungen()[i][0],
+					this.codierer.fetchSteckverbindungen()[i][1]
+			};
+			Arrays.sort(verfuegbareBuchstaben);
+
+			chkBoxGridPane[i] = new ChkBoxGridPane(verfuegbareBuchstaben);
+			chkBoxGridPane[i].setVisible(false);
+			chkBoxGridPane[i].setStyle("-fx-background-color: white; -fx-border-color: black;");
+			chkBoxGridPane[i].setPrefHeight(chkBoxGridPane[i].getCharSize() * 20);
+			chkBoxGridPane[i].setPrefWidth(85.0);
+			chkBoxGridPane[i].setPadding(new Insets(10, 10, 10, 10));
+			chkBoxGridPane[i].setAlignment(Pos.CENTER);
+
+			tBtnPort[i] = new ToggleButton(checkedBuchstaben[0] + "" + checkedBuchstaben[1]);
 			tBtnPort[i].setToggleGroup(cabelConnect);
-			GridPane.setMargin(tBtnPort[i], new Insets(0, 15, 0, 15));
+			GridPane.setHalignment(tBtnPort[i], HPos.CENTER);
+
 			mainGrid.add(tBtnPort[i], i + 1, 8);
+			chkBoxGridPane[i].setLayoutX(
+					(anchorPane.getWidth() / 12) * (i + 1) -
+							((chkBoxGridPane[i].getPrefWidth() - anchorPane.getWidth() / 12) / 2));
+			chkBoxGridPane[i].setLayoutY(
+					mainGrid.getLayoutY() + ((anchorPane.getHeight() -
+							mainGrid.getLayoutY()) / 10 * 9) - chkBoxGridPane[i].getPrefHeight() - 15);
+			new Fehler().debug(
+					"mg LayoutY " + mainGrid.getLayoutY() +
+							" mg Height " + mainGrid.getHeight() +
+							" chkbox Height " + chkBoxGridPane[i].getHeight() +
+							" AP Height " + anchorPane.getHeight(),
+					false);
+			anchorPane.getChildren().add(chkBoxGridPane[i]);
 
 			cabelConnect.selectedToggleProperty().
 					addListener((observable, oldValue, newValue) -> {
 						//TODO
 						for (int j = 0; j < 10; j++) {
 							if (cabelConnect.getSelectedToggle() == tBtnPort[j]) {
-								switchPortVisible(j, true);
+								chkBoxGridPane[j].setVisible(true);
 							} else if (cabelConnect.getSelectedToggle() != tBtnPort[j]) {
-								switchPortVisible(j, false);
+								chkBoxGridPane[j].setVisible(false);
 							}
 						}
 					});
@@ -514,45 +495,45 @@ public class GuiController {
 			this.codierer.setzeWalzenPosition(2, mItm.getText().charAt(0));
 		}
 		if (mBtn.getId().equals(mBtnWalzPos1.getId())) {
-            setzeWalze(1, mItm.getText());
-            if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
-                    !mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText())) {
+			setzeWalze(1, mItm.getText());
+			if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
+					!mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText())) {
 				this.codierer.setzeWalzeNr(0,
-                        convertRoemischToZahl(mItm.getText()) + 1,
-                        mBtnNotchPos1.getText().charAt(0));
+						convertRoemischToZahl(mItm.getText()) + 1,
+						mBtnNotchPos1.getText().charAt(0));
 			} else {
 				setzeWalze(1, convertZahlToRoemisch(this.codierer.fetchWalzenNr(0)));
 				new Fehler().showErrorDialog("error",
-                        "Walze nicht gefunden",
-                        "Es scheint so das wir von jeder Walze nur eine da haben");
+						"Walze nicht gefunden",
+						"Es scheint so das wir von jeder Walze nur eine da haben");
 			}
 		}
 		if (mBtn.getId().equals(mBtnWalzPos2.getId())) {
-            setzeWalze(2, mItm.getText());
-            if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
-                    !mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
+			setzeWalze(2, mItm.getText());
+			if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
+					!mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
 				this.codierer.setzeWalzeNr(1,
-                        convertRoemischToZahl(mItm.getText()) + 1,
-                        mBtnNotchPos2.getText().charAt(0));
+						convertRoemischToZahl(mItm.getText()) + 1,
+						mBtnNotchPos2.getText().charAt(0));
 			} else {
 				setzeWalze(2, convertZahlToRoemisch(this.codierer.fetchWalzenNr(1)));
 				new Fehler().showErrorDialog("error",
-                        "Walze nicht gefunden",
-                        "Es scheint so das wir von jeder Walze nur eine da haben");
+						"Walze nicht gefunden",
+						"Es scheint so das wir von jeder Walze nur eine da haben");
 			}
 		}
 		if (mBtn.getId().equals(mBtnWalzPos3.getId())) {
-            setzeWalze(3, mItm.getText());
-            if (!mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText()) &&
-                    !mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
+			setzeWalze(3, mItm.getText());
+			if (!mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText()) &&
+					!mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
 				this.codierer.setzeWalzeNr(2,
-                        convertRoemischToZahl(mItm.getText()) + 1,
-                        mBtnNotchPos3.getText().charAt(0));
+						convertRoemischToZahl(mItm.getText()) + 1,
+						mBtnNotchPos3.getText().charAt(0));
 			} else {
 				setzeWalze(3, convertZahlToRoemisch(this.codierer.fetchWalzenNr(2)));
 				new Fehler().showErrorDialog("error",
-                        "Walze nicht gefunden",
-                        "Es scheint so das wir von jeder Walze nur eine da haben");
+						"Walze nicht gefunden",
+						"Es scheint so das wir von jeder Walze nur eine da haben");
 			}
 		}
 		if (mBtn.getId().equals(mBtnNotchPos1.getId())) {
@@ -571,17 +552,6 @@ public class GuiController {
 		tfKlartext.setText("");
 	}
 
-	/**
-	 * Hier werden die TextFelder der ToggelButtons gesetzt, welche die Steckverbindungen darstellen,
-	 * mit den Werten die von der Klasse Codierer zur Verfügung gestellt werden.
-	 */
-	private void setzeSteckverbindungen() {
-		for (int i = 0; i <= 9; i++) {
-			tBtnPort[i].setText(codierer.fetchSteckverbindungen()[i][0] + ""
-					+ codierer.fetchSteckverbindungen()[i][1]);
-		}
-	}
-
 	/**
 	 * Die Löschen Funktion löscht das letzte Zeichen im Klartext sowie im Codiert Feld,
 	 * der Codierer wird aufgerufen um ebenfalls das letzte Zeichen zu löschen
@@ -903,10 +873,12 @@ public class GuiController {
 		mBtnStartPos3.setText(String.valueOf(codierer.fetchWalzen()[2]));
 
 		// Steckbrett Felder setzen
-		setzeSteckverbindungen();
+		//setzeSteckverbindungen();
+
+		myToggleButtons();
 
 		// Setzt das Steckbrett
-		generateSteckbrett();
+		//generateSteckbrett();
 
 		// Felder zurück setzen
 		this.textCodiert = "";
@@ -935,7 +907,7 @@ public class GuiController {
 
 		// Einstellungen aus dem Logbuch auslesen und setzen
 		setzeTagesSchluessel();
-		setzeSteckverbindungen();
+		//setzeSteckverbindungen();
 	}
 
 	private enum BUCHSTABE_LEUCHTET {AN, AUS}
diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
index 913b8db..87f4bff 100644
--- a/src/main/java/projekt/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -279,7 +279,6 @@ public class Codierer {
 
 
 	/**
-	 * TODO: Wird nicht benutzt
 	 * Setzt das Kabel in beide Ports ein und fuegt es dem Steckbrett-Array hinzu.
 	 *
 	 * @param port       : int : Kabel Nummer, welches am Steckbrett eingesteckt wird.
@@ -457,19 +456,6 @@ public class Codierer {
 
 	//region Sonstige
 
-	/**
-	 * TODO: Wird nicht benutzt
-	 * Prueft ob der Port auf dem das Kabel gesteckt werden soll, noch frei ist.
-	 * <p>
-	 * setSteckbrett ausfuehren mit beiden Buchstaben als String.
-	 *
-	 * @param buchstabe : char : Der zuletzt eingegebene Buchstabe.
-	 * @return boolean : Wenn der Buchstabe nicht vorhanden ist, wird true zurueckgegeben, ansonsten false.
-	 */
-	public boolean pruefeSteckbrettPort(char buchstabe) {
-		return this.hardware.getSteckbrett().ueberpruefeVertauschungen(buchstabe);
-	}
-
 	/**
 	 * Liest aus der empfangenen Nachricht den Spruchschluessel aus und gibt ihn zurueck.
 	 *
@@ -490,6 +476,7 @@ public class Codierer {
 		this.nachricht = this.nachricht.substring(0, this.nachricht.length() - 1);
 	}
 	//endregion
+
 	//endregion
 
 	//region Getter
diff --git a/src/main/java/projekt/enigma/model/Hardware.java b/src/main/java/projekt/enigma/model/Hardware.java
index 00e0d12..ff3d745 100644
--- a/src/main/java/projekt/enigma/model/Hardware.java
+++ b/src/main/java/projekt/enigma/model/Hardware.java
@@ -15,187 +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() + "." +
-                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);
-                    }
-                }
-            }
-        }
-    }
-    //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
+	//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);
+					}
+				}
+			}
+		}
+	}
+	//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/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
index eebb0ff..15895de 100644
--- a/src/main/java/projekt/enigma/model/Walze.java
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -77,7 +77,7 @@ public class Walze {
 		if ((richtung == -1) || (richtung == 1)) {
 			if (richtung == 1) {
 				this.turns++;
-			} else if (richtung == -1) {
+			} else {
 				korrekturFaktor = 1;
 				this.turns--;
 			}
diff --git a/src/main/java/projekt/enigma/view/ChkBoxGridPane.java b/src/main/java/projekt/enigma/view/ChkBoxGridPane.java
index 61db71f..6b762fa 100644
--- a/src/main/java/projekt/enigma/view/ChkBoxGridPane.java
+++ b/src/main/java/projekt/enigma/view/ChkBoxGridPane.java
@@ -1,19 +1,24 @@
 package projekt.enigma.view;
 
+import javafx.geometry.Pos;
 import javafx.scene.control.CheckBox;
-import javafx.scene.control.ContentDisplay;
-import javafx.scene.control.Label;
 import javafx.scene.layout.GridPane;
 
+/**
+ * TODO: Doku
+ */
 public class ChkBoxGridPane extends GridPane {
-	/*private static JPanel panel = new JPanel();*/
-	private static CheckBox[] checkbox;
-	private static Character[] alphabet;/* = {'A','B','C','D'};*/
-	private static int charSize;
+	private CheckBox[] checkbox;
+	private char[] alphabet;
+	private int charSize;
 
-	public ChkBoxGridPane(Character[] alphabet) {
+	/**
+	 * TODO: Doku
+	 * @param alphabet
+	 */
+	public ChkBoxGridPane(char[] alphabet) {
 		charSize = alphabet.length;
-		ChkBoxGridPane.alphabet = alphabet;
+		this.alphabet = alphabet;
 		initializeComponents();
 	}
 
@@ -24,25 +29,13 @@ public class ChkBoxGridPane extends GridPane {
 	 */
 	private void initializeComponents() {
 		checkbox = new CheckBox[charSize];
+		this.setAlignment(Pos.CENTER);
 
-		/*
-		 * => bei ungerader Anzahl Buchstaben
-		 * CheckBox und deren Label erzeugen,  bei geraden Index Zahlen
-		 * das Label rechts setzen bei ungeraden links
-		 * => bei gerader Anzahl Buchstaben
-		 * CheckBox und deren Label erzeugen,  bei geraden Index Zahlen
-		 * das Label rechts setzen bei ungeraden links
-		 */
-		for (int i = 0; i < charSize; i++) {
-			Label lb = new Label(alphabet[i] + "");
-			lb.setGraphic(checkbox[i] = new CheckBox());
-			if (i % 2 == 0) lb.setContentDisplay(ContentDisplay.RIGHT);
-			else if (!(i % 2 == 0)) lb.setContentDisplay(ContentDisplay.LEFT);
-			if (!(charSize % 2 == 0)) {
-				this.add(checkbox[i], 2, (charSize + 1) / 2);
-			} else {
-				this.add(checkbox[i], 2, (charSize / 2));
-			}
+		for (int i = 0; i < alphabet.length; i++) {
+			checkbox[i] = new CheckBox(alphabet[i] + "");
+
+			this.addRow(i + 1);
+			this.add(checkbox[i], 2, i + 1, 1, 1);
 			//if (i==0)checkbox[0].setSelected(true);
 		}
 		this.setVisible(true);
@@ -64,5 +57,13 @@ public class ChkBoxGridPane extends GridPane {
 		}
 		return null;
 	}
+
+	/**
+	 * TODO: Doku
+	 * @return
+	 */
+	public int getCharSize() {
+		return charSize;
+	}
 }
 
diff --git a/src/main/resources/projekt/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml
index 403956b..2fb0e1d 100644
--- a/src/main/resources/projekt/enigma/gui.fxml
+++ b/src/main/resources/projekt/enigma/gui.fxml
@@ -5,810 +5,609 @@
 <?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">
-    <GridPane layoutX="23.0" layoutY="60.0" prefHeight="158.0" prefWidth="237.0" AnchorPane.leftAnchor="23.0"
-              AnchorPane.topAnchor="60.0">
+
+<AnchorPane fx:id="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">
+    <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 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>
-        <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">
+        <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 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 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 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 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 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 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 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">
+    <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 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 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"/>
+        <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">
+    <GridPane fx:id="mainGrid" layoutX="6.0" layoutY="294.0" prefHeight="377.0" prefWidth="952.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="300.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 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 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">
+        <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 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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 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">
+        <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 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">
+        <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 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">
+        <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 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">
+        <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 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">
+        <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 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">
+        <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 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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 name="System Bold" size="18.0" />
             </font>
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 size="18.0" />
             </font>
         </Button>
-        <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="1">
+        <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="1">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <Insets left="34.0" />
             </GridPane.margin>
         </Circle>
-        <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="2">
+        <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <Insets left="34.0" />
             </GridPane.margin>
         </Circle>
-        <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="3">
+        <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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"/>
+        <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">
+        <Circle fx:id="circT" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <Insets left="34.0" />
             </GridPane.margin>
         </Circle>
-        <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="6">
+        <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <Insets left="34.0" />
             </GridPane.margin>
         </Circle>
-        <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="7">
+        <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <Insets left="34.0" />
             </GridPane.margin>
         </Circle>
-        <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="8">
+        <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <Insets left="34.0" />
             </GridPane.margin>
         </Circle>
-        <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE"
-                GridPane.columnIndex="9">
+        <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9">
             <GridPane.margin>
-                <Insets left="34.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="41.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="5.0" left="42.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="4.0" left="9.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <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 size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets bottom="2.0" left="7.0"/>
+                <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">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="O" textAlignment="CENTER" GridPane.columnIndex="9">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I"
-               textAlignment="CENTER" GridPane.columnIndex="8">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I" textAlignment="CENTER" GridPane.columnIndex="8">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U"
-               textAlignment="CENTER" GridPane.columnIndex="7">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U" textAlignment="CENTER" GridPane.columnIndex="7">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z"
-               textAlignment="CENTER" GridPane.columnIndex="6">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z" textAlignment="CENTER" GridPane.columnIndex="6">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T"
-               textAlignment="CENTER" GridPane.columnIndex="5">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T" textAlignment="CENTER" GridPane.columnIndex="5">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R"
-               textAlignment="CENTER" GridPane.columnIndex="4">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R" textAlignment="CENTER" GridPane.columnIndex="4">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E"
-               textAlignment="CENTER" GridPane.columnIndex="3">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E" textAlignment="CENTER" GridPane.columnIndex="3">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W"
-               GridPane.columnIndex="2">
+        <Label alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W" GridPane.columnIndex="2">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q"
-               GridPane.columnIndex="1">
+        <Label alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q" GridPane.columnIndex="1">
             <font>
-                <Font size="23.0"/>
+                <Font size="23.0" />
             </font>
             <GridPane.margin>
-                <Insets left="42.0"/>
+                <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>
     </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 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>
         <TextField fx:id="tfKlartext" editable="false" prefHeight="70.0" prefWidth="293.0">
             <GridPane.margin>
-                <Insets/>
+                <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">
+        <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"/>
+                <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">
+        <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"/>
+                <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 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 size="14.0" />
             </font>
         </Label>
     </Pane>
-- 
GitLab