diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java index 4e2a1a3652740e0e2128baa8ab00c9bda8d0ef13..2e06eb606adf45ee66b00bde2d46fae7ef84a6b4 100644 --- a/src/main/java/projekt/enigma/GuiController.java +++ b/src/main/java/projekt/enigma/GuiController.java @@ -22,301 +22,307 @@ public class GuiController { private Codierer codierer; @FXML - private Button btnL; + private TextField tfStecker1; @FXML - private Button btnP; + private TextField tfStecker2; @FXML - private Button btnY; + private TextField tfStecker3; @FXML - private Button btnX; + private TextField tfStecker4; @FXML - private Button btnC; + private TextField tfStecker5; @FXML - private Button btnV; + private TextField tfStecker6; @FXML - private Button btnB; + private TextField tfStecker7; @FXML - private Button btnN; + private TextField tfStecker8; + + @FXML + private TextField tfStecker9; + + @FXML + private TextField tfStecker10; @FXML private Button btnM; @FXML - private Button btnA; + private Button btnN; @FXML - private Button btnS; + private Button btnB; @FXML - private Button btnD; + private Button btnV; @FXML - private Button btnF; + private Button btnC; @FXML - private Button btnG; + private Button btnX; @FXML - private Button btnH; + private Button btnY; @FXML - private Button btnJ; + private Button btnP; @FXML - private Button btnK; + private Button btnL; @FXML - private Button btnQ; + private Button btnK; @FXML - private Button btnW; + private Button btnJ; @FXML - private Button btnE; + private Button btnH; @FXML - private Button btnR; + private Button btnG; @FXML - private Button btnT; + private Button btnF; @FXML - private Button btnZ; + private Button btnD; @FXML - private Button btnU; + private Button btnS; @FXML - private Button btnI; + private Button btnA; @FXML private Button btnO; @FXML - private MenuButton mBtnWalzPos1; + private Button btnI; @FXML - private MenuButton mBtnWalzPos3; + private Button btnU; @FXML - private MenuButton mBtnWalzPos2; + private Button btnZ; @FXML - private MenuButton mBtnNotchPos3; + private Button btnT; @FXML - private MenuButton mBtnNotchPos2; + private Button btnR; @FXML - private MenuButton mBtnStartPos1; + private Button btnE; @FXML - private MenuButton mBtnStartPos3; + private Button btnW; @FXML - private MenuButton mBtnStartPos2; + private Button btnQ; @FXML - private TextField tfKlartext; + private Circle circL; @FXML - private TextField tfCodiert; + private Circle circM; @FXML - private MenuButton mBtnNotchPos1; + private Circle circN; @FXML - private TextField tfStecker1; + private Circle circB; @FXML - private TextField tfStecker2; + private Circle circV; @FXML - private TextField tfStecker3; + private Circle circC; @FXML - private TextField tfStecker4; + private Circle circX; @FXML - private TextField tfStecker5; + private Circle circY; @FXML - private TextField tfStecker6; + private Circle circP; @FXML - private TextField tfStecker7; + private Circle circK; @FXML - private TextField tfStecker8; + private Circle circJ; @FXML - private TextField tfStecker9; + private Circle circH; @FXML - private TextField tfStecker10; + private Circle circG; @FXML - private Label lblQ; + private Circle circF; @FXML - private Label lblE; + private Circle circD; @FXML - private Label lblW; + private Circle circS; @FXML - private Label lblR; + private Circle circA; @FXML - private Label lblT; + private Circle circO; @FXML - private Label lblZ; + private Circle circI; @FXML - private Label lblO; + private Circle circU; @FXML - private Label lblI; + private Circle circZ; @FXML - private Label lblU; + private Circle circT; @FXML - private Label lblA; + private Circle circR; @FXML - private Label lblD; + private Circle circE; @FXML - private Label lblS; + private Circle circW; @FXML - private Label lblF; + private Circle circQ; @FXML - private Label lblG; + private Label lblL; @FXML - private Label lblH; + private Label lblM; @FXML - private Label lblK; + private Label lblN; @FXML - private Label lblJ; + private Label lblB; @FXML - private Label lblP; + private Label lblV; @FXML - private Label lblX; + private Label lblC; @FXML - private Label lblY; + private Label lblX; @FXML - private Label lblC; + private Label lblY; @FXML - private Label lblV; + private Label lblP; @FXML - private Label lblB; + private Label lblK; @FXML - private Label lblL; + private Label lblJ; @FXML - private Label lblM; + private Label lblH; @FXML - private Label lblN; + private Label lblG; @FXML - private Circle circE; + private Label lblF; @FXML - private Circle circR; + private Label lblD; @FXML - private Circle circT; + private Label lblS; @FXML - private Circle circZ; + private Label lblA; @FXML - private Circle circU; + private Label lblQ; @FXML - private Circle circI; + private Label lblW; @FXML - private Circle circO; + private Label lblE; @FXML - private Circle circA; + private Label lblR; @FXML - private Circle circS; + private Label lblT; @FXML - private Circle circD; + private Label lblZ; @FXML - private Circle circF; + private Label lblU; @FXML - private Circle circG; + private Label lblI; @FXML - private Circle circH; + private Label lblO; @FXML - private Circle circJ; + private TextField tfCodiert; @FXML - private Circle circK; + private TextField tfKlartext; @FXML - private Circle circP; + private ProgressBar pbLadeNachricht; @FXML - private Circle circY; + private MenuButton mBtnWalzPos1; @FXML - private Circle circX; + private MenuButton mBtnWalzPos2; @FXML - private Circle circC; + private MenuButton mBtnWalzPos3; @FXML - private Circle circV; + private MenuButton mBtnNotchPos1; @FXML - private Circle circB; + private MenuButton mBtnNotchPos2; @FXML - private Circle circN; + private MenuButton mBtnNotchPos3; @FXML - private Circle circM; + private MenuButton mBtnStartPos1; @FXML - private Circle circL; + private MenuButton mBtnStartPos2; @FXML - private Circle circW; + private MenuButton mBtnStartPos3; @FXML - private Circle circQ; + private Label lblLadeNachricht; @FXML void initialize() { diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java index 2217aafde82a467d170c01bf2865b3e1b9ec24b9..11ccd130aa1a551f84606f3e63822865386e25c5 100644 --- a/src/main/java/projekt/enigma/model/Codierer.java +++ b/src/main/java/projekt/enigma/model/Codierer.java @@ -7,29 +7,49 @@ import java.util.Calendar; import java.util.Random; /** - * TODO: Dokumentieren + * Die Codierer Klasse beschreibt den Benutzer welcher die Enigma benutzt. + * Alle Vorgänge wie z.B. das zusammenbauen der Hardware, auslesen des Codebuches und das anschließende codieren, + * finden hier statt. Dieser ist quasi die Schnittstelle zwischen der GUI (Hauptmann welcher ihm sagt was er zu + * verschlüsseln hat), der Enigma und dem Funker im Funkraum, welcher die Nachricht im Anschluß versendet. */ public class Codierer { /** - * TODO: Dokumentieren + * Der Klartext Spruchschlüssel zur codierung der Nachricht */ private String spruchschluessel; + /** + * Der Spruchschlüssel, mit den Tageswerten aus dem Codebuch, codiert + */ private String spruchschluesselCodiert; - private String kenngruppe, kenngruppeCodiert; + /** + * Die Kenngruppe für die versendeten Nachrichten gedacht sind. Diese ist relevant für den Webservice (Funkraum) + */ + private String kenngruppe; + /** + * Die Nachricht, welche der Benutzer eingibt, wird als String nachricht gespeichert + * und im laufe der Benutzung ergänzt + */ private String nachricht; + /** + * Das Hardware Objekt. Hier werden alle Hardware relevanten Baugruppen gespeichert und verarbeitet. + */ private Hardware hardware; + /** + * Im Codebuch sind die Tageswerte zu finden. Über dieses Objekt kann darauf zugegriffen werden. + */ private Codebuch codebuch; /** - * TODO: Dokumentieren + * Der Konstruktor des Codierers + * Hier werden die globalen Variablen auf ihre Standart Werte gesetzt sowie die Objekte Initialisiert. */ public Codierer() { + this.nachricht = ""; this.spruchschluessel = ""; this.spruchschluesselCodiert = ""; this.kenngruppe = ""; - this.kenngruppeCodiert = ""; this.codebuch = new Codebuch(); this.codebuch.fetchTagesschluessel(); } @@ -74,16 +94,15 @@ public class Codierer { /** * Hier wird ein neuer Spruchschlüssel generiert. + * <p> * Mit diesem werden die Walzen auf eine neue Startposition gestellt und dem Kopf, mit dem * Tagesschlüssel codiert, hinzugefügt. - * <p> + * <br> * Hierfür wird mittels der Funktion "randomBuchstabe" ein zufälliger Buchstabe generiert, - * und geschaut ob dieser bereits in der globalen Variable this.spruchschluessel vorhanden ist. + * und geschaut ob dieser bereits in der globalen Variable (this.spruchschluessel) vorhanden ist. * Wenn nicht, wird der Buchstabe dem Spruchschlüssel hinzugefügt. - * <p> + * <br> * Dies wir nun so lange gemacht bis der Spruchschlüssel eine länge von drei Zeichen hat. - * <p> - * TODO: Doku aktuallisieren */ public void generateSpruchschluessel() { @@ -104,21 +123,13 @@ public class Codierer { this.hardware.setzePosition(1, this.spruchschluessel.charAt(1)); this.hardware.setzePosition(2, this.spruchschluessel.charAt(2)); - // Die Kenngruppe codieren - this.kenngruppeCodiert = this.codiere(this.kenngruppe, true); + // Die Kenngruppe codieren und in der Nachricht speichern + this.codiere(this.kenngruppe, true); } /** - * TODO: Dokumentieren - * - * @return String : Der codierte Spruchschlüssel - */ - public String getSpruchschluesselCodiert() { - return this.spruchschluesselCodiert; - } - - /** - * TODO: Dokumentieren + * Der Spruchschlüssel wird, zur internen Verwendung, auch im Klartext gespeichert. + * Wir brauchen diesen dann zum codieren der eigentlichen Nachricht. * * @return String : Der klartext Spruchschlüssel */ @@ -127,14 +138,14 @@ public class Codierer { } /** - * TODO: Dokumentieren + * Erstellen des Nachrichten Kopfes. + * Hierfür wird die aktuelle Uhrzeit ausgelesen, die Länge der Nachricht sowie der, mit den + * Tagescodes codierte, Spruchschlüssel. */ private String generateKopf() { Calendar cal = Calendar.getInstance(); // Uhrzeit an den Kopf hängen - // TODO: Da gab es doch noch eine besser Lösung für den Korrekturfaktor der Uhrzeit? - return String.format("%02d%02d", cal.get(Calendar.HOUR), cal.get(Calendar.MINUTE)) + " " + // Zeichen Anzahl der Nachricht @@ -142,9 +153,6 @@ public class Codierer { // Spruchschlüssel anhängen this.spruchschluesselCodiert.substring(0, 3) + " " + this.spruchschluesselCodiert.substring(3, 6) + " "; - - // Kenngruppe an das Ende setzen - //this.kenngruppeCodiert; } /** @@ -191,7 +199,7 @@ public class Codierer { StringBuilder sb = new StringBuilder(); sb.append(nachricht[1], 0, 16); - for(int i = 17; i <= nachricht[1].length();) { + for (int i = 17; i <= nachricht[1].length(); ) { if ((i + 5) < nachricht[1].length()) { sb.append(nachricht[1], i, i + 5).append(" "); i += 5; @@ -240,7 +248,7 @@ public class Codierer { /** * Gibt die aktuellen Buchstaben auf den Walzen zurück * - * @return + * @return char[] : Walzen Array mit der aktuellen Position */ public char[] getWalzen() { char[] walzen = new char[3]; @@ -252,19 +260,13 @@ public class Codierer { } /** - * Setzt ein neues Hardware Objekt + * Hier wird ein einzelner Buchstabe verschlüsselt. + * Man muss hier ebenfalls mitgeben ob der codierte String in Codierer.nachricht gespeichert werden soll oder nicht. + * In der Regel ist dies der Fall. * - * @param hardware : Hardware - */ - public void setHardware(Hardware hardware) { - this.hardware = hardware; - } - - /** - * TODO: Dokumentieren - * - * @param buchstabe - * @return + * @param buchstabe : char : Der zu codierende Buchstabe + * @param save : boolean : Nachricht speichern oder nicht + * @return char : Der codierte Buchstabe */ public char codiere(char buchstabe, boolean save) { char codiert = this.hardware.codiere(buchstabe); @@ -276,11 +278,13 @@ public class Codierer { } /** - * TODO: Dokumentieren + * Codiert den Übergebenen String. + * Man muss hier ebenfalls mitgeben ob der codierte String in Codierer.nachricht gespeichert werden soll oder nicht. + * In der Regel ist dies der Fall. * - * @param klartext - * @param save - * @return + * @param klartext : String : Der zu codierende Text + * @param save : boolean : Nachricht speichern oder nicht + * @return String : Der codierte Text zusätzlich als Rückgabe */ public String codiere(String klartext, boolean save) { @@ -294,7 +298,9 @@ public class Codierer { } /** - * TODO: Dokumentieren + * Diese Funktion erwartet als (codierteNachricht) eine korrekte Enigma Nachricht. + * Ihr muss auch der Tag der codierung mitgegeben werden. Dieser weiß dein Funker im Funkraum. + * In der Regel ist dies der Tag des Nachrichten empfangs. * * @param codierteNachricht : String : Enigma codierte Nachricht * @param tag : int : Tag der Nachricht @@ -332,12 +338,13 @@ public class Codierer { } /** - * TODO: Dokumentieren + * Zerlegt den übergebenen String in einen char Array und decodiert jedes Zeichen. + * Der String wird dann decodiert zurück gegeben. * - * @param nachricht - * @return + * @param nachricht : String : Der zu decodierende Text + * @return String : Der decodierte Text */ - public String decodiereString(String nachricht) { + private String decodiereString(String nachricht) { StringBuilder sb = new StringBuilder(); @@ -351,51 +358,66 @@ public class Codierer { } /** - * TODO: Dokumentieren + * Setzt die Enigma auf die Einstellungen des aktuellen Tages, aus dem Codebuch zurück. */ public void resetHardware() { this.initialisiereHardware(); } /** - * Setzt die Walze auf der Position (walzenPosition) in die Enigma ein. - * Mit dem char (position) sagt man auf welchen Buchstaben sie eingestellt werden soll. + * Setzt den anzuzeigenden Buchstaben (buchstabe) auf der Walze (wlazenPosition) + * TODO: Wenn die Walzen, Notches, Kabel, etc. verändert werden, muss die bisherige Nachricht (this.nachricht) gelöscht werden. * - * @param walzenPosition - * @param position + * @param walzenPosition : int : Nummer der Walze + * @param buchstabe : char : Buchstabe der zugewiesen soll */ - public void setWalze(int walzenPosition, char position) { - this.hardware.setzePosition(walzenPosition, position); + public void setWalze(int walzenPosition, char buchstabe) { + this.hardware.setzePosition(walzenPosition, buchstabe); } /** - * TODO: Dokumentieren + * Setzt den Ring auf der Walze auf einen neuen Umstprungwert. * - * @param walzenPosition - * @param position + * @param walzenPosition : int : Walze auf die der Ring gesteckt wird + * @param umsprungPunkt : int : Buchstabe auf dem der Notch sitzt */ - public void setRing(int walzenPosition, int position) { - this.hardware.setzeRing(walzenPosition, position); + public void setRing(int walzenPosition, int umsprungPunkt) { + this.hardware.setzeRing(walzenPosition, umsprungPunkt); } /** - * TODO: Dokumentieren + * Setzt die Walze (walzeNr) in die Position (walzenPosition) der Enigma ein. + * Mit (ringstellung) gibt man die Position des Umsprungpunktes an. * - * @param walzenPosition - * @param walzeNr + * @param walzenPosition : int : Position der Walze in der Enigma (1-2-3) + * @param walzeNr : int : Nummer der Walze die eingesetzt wird + * @param ringstellung : int : Stellung des Ringes */ - public void setWalzeNr(int walzenPosition, int walzeNr) { - this.hardware.setzeWalzenNr(walzenPosition, walzeNr, 1); + public void setWalzeNr(int walzenPosition, int walzeNr, int ringstellung) { + this.hardware.setzeWalzenNr(walzenPosition, walzeNr, ringstellung); } /** - * TODO: Dokumentieren + * Setzt das Kabel in beide Ports ein und fügt es dem Steckbrett Array hinzu. * - * @param feldNr - * @param verbindung + * @param feldNr : int : Kabel Nummer welches am Steckbrett eingesteckt wird + * @param verbindung : String : Verbindung welche die vertauschten Buchstaben angibt */ public void setSteckbrett(int feldNr, String verbindung) { this.hardware.getSteckbrett().setzeVertauschung(verbindung.charAt(0), verbindung.charAt(1)); } + /** + * Prüft ob der Port auf den das Kabel gesteckt werden soll, noch frei ist. + * <p> + * TODO: Prüfen ob im aktuellen Feld bereits zwei Buchstaben stehen, wenn ja, nach erfolg dieser Funktion, + * setSteckbrett ausführen mit beiden Buchstaben als String + * + * @param buchstabe : char : Der zuletzt eingegebene Buchstabe + * @return boolean : Wenn der Buchstabe nicht vorhanden ist, wird true zurückgegeben, ansonsten false + */ + public boolean pruefeSteckbrettPort(char buchstabe) { + return true; + } + } diff --git a/src/main/resources/projekt/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml index ecd4781d497320b01f979cc53ddadbc86e7a2205..4c75cd670c3ea1b526fb67c89e0adc9bfae8579d 100644 --- a/src/main/resources/projekt/enigma/gui.fxml +++ b/src/main/resources/projekt/enigma/gui.fxml @@ -4,11 +4,14 @@ <?import javafx.scene.control.Button?> <?import javafx.scene.control.Label?> <?import javafx.scene.control.MenuButton?> +<?import javafx.scene.control.ProgressBar?> <?import javafx.scene.control.Separator?> <?import javafx.scene.control.TextField?> <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.FlowPane?> <?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.RowConstraints?> <?import javafx.scene.layout.TilePane?> <?import javafx.scene.layout.VBox?> @@ -17,7 +20,7 @@ <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0" prefWidth="967.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.GuiController"> <children> - <GridPane layoutY="255.0" prefHeight="446.0" prefWidth="968.0" AnchorPane.bottomAnchor="-2.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="255.0"> + <GridPane layoutY="313.0" prefHeight="393.0" prefWidth="968.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="313.0"> <columnConstraints> <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" /> <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" /> @@ -31,10 +34,10 @@ <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" /> <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" /> <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" /> + <ColumnConstraints hgrow="ALWAYS" 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" /> @@ -44,102 +47,102 @@ <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> </rowConstraints> <children> - <TextField fx:id="tfStecker1" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="1" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker1" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="1" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker2" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="2" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker2" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="2" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker3" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="3" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker3" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="3" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker4" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="4" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker4" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="4" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker5" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="5" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker5" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="5" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker6" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="6" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker6" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="6" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker7" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="7" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker7" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="7" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker8" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="8" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker8" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="8" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker9" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="9" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker9" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="9" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <TextField fx:id="tfStecker10" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="10" GridPane.rowIndex="8"> + <TextField fx:id="tfStecker10" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="10" GridPane.rowIndex="7"> <GridPane.margin> <Insets left="10.0" right="10.0" /> </GridPane.margin> </TextField> - <Button fx:id="btnM" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="M" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="7"> + <Button fx:id="btnM" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="M" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnN" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="N" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="7"> + <Button fx:id="btnN" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="N" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnB" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="B" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="7"> + <Button fx:id="btnB" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="B" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnV" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="V" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="7"> + <Button fx:id="btnV" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="V" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnC" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="C" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="7"> + <Button fx:id="btnC" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="C" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnX" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="X" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="7"> + <Button fx:id="btnX" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="X" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnY" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Y" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="7"> + <Button fx:id="btnY" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Y" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnP" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="P" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="7"> + <Button fx:id="btnP" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="P" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnL" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="L" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="7"> + <Button fx:id="btnL" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="L" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="6"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnK" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="K" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="6"> + <Button fx:id="btnK" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -147,7 +150,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnJ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="J" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="6"> + <Button fx:id="btnJ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -155,7 +158,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnH" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="H" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="6"> + <Button fx:id="btnH" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -163,7 +166,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnG" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="G" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="6"> + <Button fx:id="btnG" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -171,7 +174,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnF" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="F" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="6"> + <Button fx:id="btnF" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -179,7 +182,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnD" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="D" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="6"> + <Button fx:id="btnD" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -187,7 +190,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnS" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="S" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="6"> + <Button fx:id="btnS" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -195,7 +198,7 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnA" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="A" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="6"> + <Button fx:id="btnA" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.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> @@ -203,52 +206,52 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Button fx:id="btnO" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="O" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="5"> + <Button fx:id="btnO" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="O" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnI" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="I" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="5"> + <Button fx:id="btnI" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="I" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnU" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="U" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="5"> + <Button fx:id="btnU" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="U" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnZ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Z" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="5"> + <Button fx:id="btnZ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Z" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnT" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="T" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="5"> + <Button fx:id="btnT" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="T" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnR" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="R" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="5"> + <Button fx:id="btnR" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="R" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnE" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="E" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="5"> + <Button fx:id="btnE" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="E" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnW" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="W" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="5"> + <Button fx:id="btnW" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="W" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button fx:id="btnQ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Q" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="5"> + <Button fx:id="btnQ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Q" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="4"> <font> <Font name="System Bold" size="18.0" /> </font> </Button> - <Button minHeight="44.0" mnemonicParsing="false" onAction="#loeschen" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="<" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="6"> + <Button minHeight="44.0" mnemonicParsing="false" onAction="#loeschen" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="<" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="5"> <font> <Font size="18.0" /> </font> @@ -256,65 +259,65 @@ <Insets left="28.0" /> </GridPane.margin> </Button> - <Circle fx:id="circL" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="10" GridPane.rowIndex="3" /> - <Circle fx:id="circM" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" GridPane.rowIndex="3" /> - <Circle fx:id="circN" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="3" /> - <Circle fx:id="circB" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="3" /> - <Circle fx:id="circV" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="3" /> - <Circle fx:id="circC" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="3" /> - <Circle fx:id="circX" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" GridPane.rowIndex="3" /> - <Circle fx:id="circY" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="3" /> - <Circle fx:id="circP" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="3" /> - <Circle fx:id="circK" 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="10" GridPane.rowIndex="2" /> + <Circle fx:id="circM" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" GridPane.rowIndex="2" /> + <Circle fx:id="circN" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="2" /> + <Circle fx:id="circB" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="2" /> + <Circle fx:id="circV" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="2" /> + <Circle fx:id="circC" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="2" /> + <Circle fx:id="circX" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" GridPane.rowIndex="2" /> + <Circle fx:id="circY" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="2" /> + <Circle fx:id="circP" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="2" /> + <Circle fx:id="circK" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" GridPane.rowIndex="1"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circJ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="2"> + <Circle fx:id="circJ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="1"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circH" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="2"> + <Circle fx:id="circH" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="1"> <GridPane.margin> <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circG" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="2"> + <Circle fx:id="circG" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="1"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circF" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="2"> + <Circle fx:id="circF" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="1"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circD" 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"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circS" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="2"> + <Circle fx:id="circS" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="1"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circA" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="2"> + <Circle fx:id="circA" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="1"> <GridPane.margin> <Insets left="35.0" /> </GridPane.margin> </Circle> - <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="10" GridPane.rowIndex="1" /> - <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" GridPane.rowIndex="1" /> - <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="1" /> - <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="1" /> - <Circle fx:id="circT" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="1" /> - <Circle fx:id="circR" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="1" /> - <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" GridPane.rowIndex="1" /> - <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="1" /> - <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="1" /> - <Label fx:id="lblL" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="L" GridPane.columnIndex="10" GridPane.rowIndex="3"> + <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="10" /> + <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" /> + <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" /> + <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" /> + <Circle fx:id="circT" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" /> + <Circle fx:id="circR" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" /> + <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" /> + <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" /> + <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" /> + <Label fx:id="lblL" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="L" GridPane.columnIndex="10" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -322,7 +325,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblM" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="M" GridPane.columnIndex="9" GridPane.rowIndex="3"> + <Label fx:id="lblM" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="M" GridPane.columnIndex="9" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -330,7 +333,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblN" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="N" GridPane.columnIndex="8" GridPane.rowIndex="3"> + <Label fx:id="lblN" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="N" GridPane.columnIndex="8" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -338,7 +341,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblB" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="B" GridPane.columnIndex="7" GridPane.rowIndex="3"> + <Label fx:id="lblB" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="B" GridPane.columnIndex="7" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -346,7 +349,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblV" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="V" GridPane.columnIndex="6" GridPane.rowIndex="3"> + <Label fx:id="lblV" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="V" GridPane.columnIndex="6" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -354,7 +357,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblC" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="C" GridPane.columnIndex="5" GridPane.rowIndex="3"> + <Label fx:id="lblC" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="C" GridPane.columnIndex="5" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -362,7 +365,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblX" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="X" GridPane.columnIndex="4" GridPane.rowIndex="3"> + <Label fx:id="lblX" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="X" GridPane.columnIndex="4" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -370,7 +373,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblY" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="Y" GridPane.columnIndex="3" GridPane.rowIndex="3"> + <Label fx:id="lblY" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="Y" GridPane.columnIndex="3" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -378,7 +381,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblP" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="P" GridPane.columnIndex="2" GridPane.rowIndex="3"> + <Label fx:id="lblP" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="P" GridPane.columnIndex="2" GridPane.rowIndex="2"> <font> <Font size="23.0" /> </font> @@ -386,7 +389,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblK" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="K" GridPane.columnIndex="9" GridPane.rowIndex="2"> + <Label fx:id="lblK" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="K" GridPane.columnIndex="9" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -394,7 +397,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblJ" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="J" GridPane.columnIndex="8" GridPane.rowIndex="2"> + <Label fx:id="lblJ" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="J" GridPane.columnIndex="8" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -402,7 +405,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblH" alignment="CENTER" minHeight="0.0" prefHeight="27.0" prefWidth="25.0" text="H" GridPane.columnIndex="7" GridPane.rowIndex="2"> + <Label fx:id="lblH" alignment="CENTER" minHeight="0.0" prefHeight="27.0" prefWidth="25.0" text="H" GridPane.columnIndex="7" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -410,7 +413,7 @@ <Insets bottom="6.0" left="50.0" /> </GridPane.margin> </Label> - <Label fx:id="lblG" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="G" GridPane.columnIndex="6" GridPane.rowIndex="2"> + <Label fx:id="lblG" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="G" GridPane.columnIndex="6" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -418,7 +421,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblF" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="F" GridPane.columnIndex="5" GridPane.rowIndex="2"> + <Label fx:id="lblF" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="F" GridPane.columnIndex="5" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -426,7 +429,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblD" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="D" GridPane.columnIndex="4" GridPane.rowIndex="2"> + <Label fx:id="lblD" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="D" GridPane.columnIndex="4" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -434,7 +437,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblS" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="S" GridPane.columnIndex="3" GridPane.rowIndex="2"> + <Label fx:id="lblS" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="S" GridPane.columnIndex="3" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -442,7 +445,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblA" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="A" GridPane.columnIndex="2" GridPane.rowIndex="2"> + <Label fx:id="lblA" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="A" GridPane.columnIndex="2" GridPane.rowIndex="1"> <font> <Font size="23.0" /> </font> @@ -450,7 +453,7 @@ <Insets bottom="4.0" left="42.0" /> </GridPane.margin> </Label> - <Label fx:id="lblQ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q" GridPane.columnIndex="2" GridPane.rowIndex="1"> + <Label fx:id="lblQ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q" GridPane.columnIndex="2"> <font> <Font size="23.0" /> </font> @@ -458,7 +461,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblW" alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W" GridPane.columnIndex="3" GridPane.rowIndex="1"> + <Label fx:id="lblW" alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W" GridPane.columnIndex="3"> <font> <Font size="23.0" /> </font> @@ -466,7 +469,7 @@ <Insets bottom="1.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblE" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E" textAlignment="CENTER" GridPane.columnIndex="4" GridPane.rowIndex="1"> + <Label fx:id="lblE" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E" textAlignment="CENTER" GridPane.columnIndex="4"> <font> <Font size="23.0" /> </font> @@ -474,7 +477,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblR" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R" textAlignment="CENTER" GridPane.columnIndex="5" GridPane.rowIndex="1"> + <Label fx:id="lblR" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R" textAlignment="CENTER" GridPane.columnIndex="5"> <font> <Font size="23.0" /> </font> @@ -482,7 +485,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblT" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T" textAlignment="CENTER" GridPane.columnIndex="6" GridPane.rowIndex="1"> + <Label fx:id="lblT" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T" textAlignment="CENTER" GridPane.columnIndex="6"> <font> <Font size="23.0" /> </font> @@ -490,7 +493,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblZ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z" textAlignment="CENTER" GridPane.columnIndex="7" GridPane.rowIndex="1"> + <Label fx:id="lblZ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z" textAlignment="CENTER" GridPane.columnIndex="7"> <font> <Font size="23.0" /> </font> @@ -498,7 +501,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblU" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U" textAlignment="CENTER" GridPane.columnIndex="8" GridPane.rowIndex="1"> + <Label fx:id="lblU" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U" textAlignment="CENTER" GridPane.columnIndex="8"> <font> <Font size="23.0" /> </font> @@ -506,7 +509,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblI" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I" textAlignment="CENTER" GridPane.columnIndex="9" GridPane.rowIndex="1"> + <Label fx:id="lblI" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I" textAlignment="CENTER" GridPane.columnIndex="9"> <font> <Font size="23.0" /> </font> @@ -514,7 +517,7 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <Label fx:id="lblO" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="O" textAlignment="CENTER" GridPane.columnIndex="10" GridPane.rowIndex="1"> + <Label fx:id="lblO" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="O" textAlignment="CENTER" GridPane.columnIndex="10"> <font> <Font size="23.0" /> </font> @@ -522,12 +525,13 @@ <Insets bottom="2.0" left="7.0" /> </GridPane.margin> </Label> - <TilePane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="5" /> + <TilePane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="4" /> + <VBox prefHeight="200.0" prefWidth="152.0" GridPane.columnIndex="11" /> </children> </GridPane> - <AnchorPane layoutX="233.0" layoutY="169.0" prefHeight="111.0" prefWidth="487.0" AnchorPane.leftAnchor="233.0" AnchorPane.rightAnchor="248.0" AnchorPane.topAnchor="169.0"> + <AnchorPane layoutX="241.0" layoutY="130.0" prefHeight="111.0" prefWidth="487.0" AnchorPane.leftAnchor="241.0" AnchorPane.rightAnchor="240.0"> <children> - <VBox layoutX="72.0" layoutY="-89.0" prefHeight="200.0" prefWidth="378.0" AnchorPane.leftAnchor="72.0"> + <VBox layoutX="72.0" layoutY="-89.0" prefHeight="200.0" prefWidth="378.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="72.0" AnchorPane.rightAnchor="37.0" AnchorPane.topAnchor="-89.0"> <children> <TextField fx:id="tfCodiert" editable="false" prefHeight="99.0" prefWidth="377.0" /> <Separator prefWidth="200.0" /> @@ -535,64 +539,84 @@ </children> </VBox> </children></AnchorPane> - <MenuButton fx:id="mBtnWalzPos1" alignment="CENTER_RIGHT" contentDisplay="CENTER" layoutX="91.0" layoutY="76.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I"> + <Label layoutX="40.0" layoutY="233.0" prefHeight="17.0" prefWidth="172.0" text="Spruchschlüssel" /> + <Label layoutX="34.0" layoutY="259.0" prefHeight="17.0" prefWidth="172.0" text="Tagesschlüssel" /> + <ProgressBar fx:id="pbLadeNachricht" layoutX="313.0" layoutY="273.0" prefHeight="18.0" prefWidth="378.0" progress="0.0" /> + <GridPane layoutX="23.0" layoutY="60.0" prefHeight="158.0" prefWidth="237.0" AnchorPane.leftAnchor="23.0" AnchorPane.topAnchor="60.0"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> + </columnConstraints> + <rowConstraints> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + </rowConstraints> + <children> + <Label text="Walze" /> + <Label text="Ringe" GridPane.rowIndex="1" /> + <Label text="Position" GridPane.rowIndex="2" /> + <MenuButton fx:id="mBtnWalzPos1" alignment="CENTER_RIGHT" contentDisplay="CENTER" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" GridPane.columnIndex="1"> </MenuButton> - <MenuButton fx:id="mBtnWalzPos3" alignment="CENTER_RIGHT" layoutX="208.0" layoutY="80.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER"> + <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="mBtnWalzPos2" alignment="CENTER_RIGHT" layoutX="152.0" layoutY="80.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER"> + <MenuButton fx:id="mBtnWalzPos3" mnemonicParsing="false" popupSide="TOP" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="3"> </MenuButton> -<!-- <MenuButton layoutX="93.0" layoutY="114.0" mnemonicParsing="false">--> -<!-- <items>--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z1" text="1" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z2" text="2" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z3" text="3" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z4" text="4" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z5" text="5" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z6" text="6" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z7" text="7" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z8" text="8" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z9" text="9" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z10" text="10" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z11" text="11" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z12" text="12" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z13" text="13" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z14" text="14" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z15" text="15" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z16" text="16" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z17" text="17" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z18" text="18" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z19" text="19" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z20" text="20" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z21" text="21" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z22" text="22" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z23" text="23" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z24" text="24" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z25" text="25" />--> -<!-- <MenuItem mnemonicParsing="false" onAction="#z26" text="26" />--> -<!-- </items>--> -<!-- </MenuButton>--> - <MenuButton fx:id="mBtnNotchPos3" alignment="CENTER_RIGHT" layoutX="208.0" layoutY="120.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER"> + <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="mBtnNotchPos2" alignment="CENTER_RIGHT" layoutX="152.0" layoutY="120.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER"> + <!-- <MenuButton layoutX="93.0" layoutY="114.0" mnemonicParsing="false">--> + <!-- <items>--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z1" text="1" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z2" text="2" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z3" text="3" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z4" text="4" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z5" text="5" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z6" text="6" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z7" text="7" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z8" text="8" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z9" text="9" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z10" text="10" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z11" text="11" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z12" text="12" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z13" text="13" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z14" text="14" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z15" text="15" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z16" text="16" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z17" text="17" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z18" text="18" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z19" text="19" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z20" text="20" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z21" text="21" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z22" text="22" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z23" text="23" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z24" text="24" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z25" text="25" />--> + <!-- <MenuItem mnemonicParsing="false" onAction="#z26" text="26" />--> + <!-- </items>--> + <!-- </MenuButton>--> + <MenuButton fx:id="mBtnNotchPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="3" GridPane.rowIndex="1"> </MenuButton> - <MenuButton fx:id="mBtnStartPos1" alignment="CENTER_RIGHT" layoutX="95.0" layoutY="157.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER"> + <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="mBtnStartPos3" alignment="CENTER_RIGHT" layoutX="208.0" layoutY="160.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER"> + <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="mBtnStartPos2" alignment="CENTER_RIGHT" layoutX="152.0" layoutY="160.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER"> + <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> - <MenuButton fx:id="mBtnNotchPos1" alignment="CENTER_RIGHT" layoutX="93.0" layoutY="114.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER" /> - <Label layoutX="29.0" layoutY="80.0" text="Walze" /> - <Label layoutX="29.0" layoutY="127.0" text="Ringe" /> - <Label layoutX="17.0" layoutY="164.0" text="Startposition" /> - <Label layoutX="68.0" layoutY="226.0" prefHeight="17.0" prefWidth="172.0" text="Spruchschlüssel" /> - <Label layoutX="68.0" layoutY="205.0" prefHeight="17.0" prefWidth="172.0" text="Tagesschlüssel" /> - <VBox layoutX="753.0" layoutY="82.0" prefHeight="200.0" prefWidth="152.0" AnchorPane.rightAnchor="63.0" AnchorPane.topAnchor="82.0"> + </children> + </GridPane> + <Label fx:id="lblLadeNachricht" alignment="CENTER" layoutX="313.0" layoutY="250.0" prefHeight="17.0" prefWidth="378.0" text="Neue Nachricht wird vom Funkraum abgerufen!" /> + <FlowPane layoutX="735.0" layoutY="27.0" prefHeight="158.0" prefWidth="152.0" AnchorPane.leftAnchor="735.0" AnchorPane.rightAnchor="38.0" AnchorPane.topAnchor="27.0"> <children> <Button mnemonicParsing="false" onAction="#btnsenden" prefHeight="80.0" prefWidth="152.0" text="An Funker senden" /> - <Label prefHeight="40.0" prefWidth="152.0" /> - <Button mnemonicParsing="false" onAction="#btnempfangen" prefHeight="80.0" prefWidth="152.0" text="Funkspruch empfangen" /> + <Pane> + <children> + <Button mnemonicParsing="false" onAction="#btnempfangen" prefHeight="101.0" prefWidth="195.0" text="Funkspruch empfangen" /> + </children> + </Pane> </children> - </VBox> + </FlowPane> </children> </AnchorPane> diff --git a/src/main/resources/projekt/enigma/kenngruppe.fxml b/src/main/resources/projekt/enigma/kenngruppe.fxml index 3031337d94d66a398f246a8d2b7e473300459cfc..237b3ed092c45e0f47661d7827503bee95b79ea7 100644 --- a/src/main/resources/projekt/enigma/kenngruppe.fxml +++ b/src/main/resources/projekt/enigma/kenngruppe.fxml @@ -2,13 +2,18 @@ <?import javafx.scene.control.Button?> <?import javafx.scene.control.Label?> -<?import javafx.scene.control.TextField?> <?import javafx.scene.layout.AnchorPane?> +<?import javafx.scene.layout.HBox?> -<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="257.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.KenngruppeController"> +<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="411.0" prefWidth="512.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="enigma.KenngruppeController"> <children> <Label layoutX="81.0" layoutY="29.0" text="Bitte Kenngruppe eingeben!" AnchorPane.leftAnchor="81.0" AnchorPane.rightAnchor="70.0" AnchorPane.topAnchor="29.0" /> - <Button fx:id="secondaryButton" layoutX="72.0" layoutY="178.0" onAction="#switchToPrimary" text="Kenngruppe bestätigen!" AnchorPane.bottomAnchor="54.0" AnchorPane.leftAnchor="72.0" AnchorPane.rightAnchor="84.0" /> - <TextField layoutX="96.0" layoutY="95.0" prefHeight="25.0" prefWidth="108.0" AnchorPane.bottomAnchor="137.0" AnchorPane.leftAnchor="96.0" AnchorPane.rightAnchor="96.0" AnchorPane.topAnchor="95.0" /> + <HBox layoutX="107.0" layoutY="141.0" prefHeight="26.0" prefWidth="276.0" AnchorPane.leftAnchor="107.0" AnchorPane.rightAnchor="129.0" AnchorPane.topAnchor="141.0"> + <children> + <Button fx:id="secondaryButton" onAction="#switchToPrimary" prefHeight="25.0" prefWidth="142.0" text="Kenngruppe bestätigen!" /> + <Label prefHeight="17.0" prefWidth="159.0" text="Label" /> + <Button mnemonicParsing="false" prefHeight="25.0" prefWidth="150.0" text="Button" /> + </children> + </HBox> </children> </AnchorPane>