diff --git a/src/main/java/Enigma/GuiController.java b/src/main/java/Enigma/GuiController.java index 33045e7e8ab9955f7ea366f7baab303f1a3c1fd6..3bfb5056ad2d8ed737f883004b0f7747c0ed5dea 100644 --- a/src/main/java/Enigma/GuiController.java +++ b/src/main/java/Enigma/GuiController.java @@ -1,11 +1,9 @@ package Enigma; import javafx.fxml.FXML; -import javafx.scene.control.Button; -import javafx.scene.control.MenuButton; -import javafx.scene.control.MenuItem; +import javafx.scene.control.*; + -import java.awt.*; import java.awt.event.ActionEvent; import java.util.ArrayList; @@ -17,135 +15,132 @@ public class GuiController { @FXML - private MenuButton mBtnWalzPos1; + private Button btnL; @FXML - private MenuButton mBtnWalzPos2; + private Button btnP; @FXML - private MenuButton mBtnWalzPos3; + private Button btnY; @FXML - private MenuButton mBtnNotchPos1; + private Button btnX; @FXML - private MenuButton mBtnNotchPos2; + private Button btnC; @FXML - private MenuButton mBtnNotchPos3; - + private Button btnV; @FXML - private MenuButton mBtnStartPos1; + private Button btnB; @FXML - private MenuButton mBtnStartPos2; + private Button btnN; @FXML - private MenuButton mBtnStartPos3; - @FXML - private Button L; + private Button btnM; @FXML - private Button P; + private Button btnA; @FXML - private Button Y; + private Button btnS; @FXML - private Button X; + private Button btnD; @FXML - private Button C; + private Button btnF; @FXML - private Button V; + private Button btnG; @FXML - private Button B; + private Button btnH; @FXML - private Button N; + private Button btnJ; @FXML - private Button M; + private Button btnK; @FXML - private Button A; + private Button btnQ; @FXML - private Button S; + private Button btnW; @FXML - private Button D; + private Button btnE; @FXML - private Button F; + private Button btnR; @FXML - private Button G; + private Button btnT; @FXML - private Button H; + private Button btnZ; @FXML - private Button J; + private Button btnU; @FXML - private Button K; + private Button btnI; @FXML - private Button Q; + private Button btnO; @FXML - private Button W; + private Button btnLöschen; @FXML - private Button E; + private MenuButton mBtnWalzPos1; @FXML - private Button R; + private MenuButton mBtnWalzPos3; @FXML - private Button T; + private MenuButton mBtnWalzPos2; @FXML - private Button Z; + private MenuButton mBtnNotchPos3; @FXML - private Button U; + private MenuButton mBtnNotchPos2; @FXML - private Button I; + private MenuButton mBtnStartPos1; @FXML - private Button O; - + private MenuButton mBtnStartPos3; @FXML - void gedrueckteTaste() { - Button bn = new Button(); - if (bn.getText().equals("A")){ - System.out.println("hello"); - } - + private MenuButton mBtnStartPos2; - } + @FXML + private TextField tfrein; + @FXML + private TextField tfcodiert; @FXML - void empfangen(ActionEvent event) { + private TextField tfKenngruppe; - } - public void empfangen(){ + @FXML + private MenuButton mBtnNotchPos1; + @FXML + void gedrueckteTaste() { } @FXML - void btnsenden(ActionEvent event) { + void btnempfangen() { } - public void btnsenden(){ + @FXML + void btnsenden() { } /** @@ -177,8 +172,6 @@ public class GuiController { } } @FXML - private Button löschen; - @FXML void initialize() { //Einträge für Walzen menu(mBtnWalzPos1, str); @@ -193,42 +186,46 @@ public class GuiController { menu(mBtnStartPos3, bs); menu(mBtnStartPos2, bs); - assert L != null : "fx:id=\"L\" was not injected: check your FXML file 'gui.fxml'."; - assert P != null : "fx:id=\"P\" was not injected: check your FXML file 'gui.fxml'."; - assert Y != null : "fx:id=\"Y\" was not injected: check your FXML file 'gui.fxml'."; - assert X != null : "fx:id=\"X\" was not injected: check your FXML file 'gui.fxml'."; - assert C != null : "fx:id=\"C\" was not injected: check your FXML file 'gui.fxml'."; - assert V != null : "fx:id=\"V\" was not injected: check your FXML file 'gui.fxml'."; - assert B != null : "fx:id=\"B\" was not injected: check your FXML file 'gui.fxml'."; - assert N != null : "fx:id=\"N\" was not injected: check your FXML file 'gui.fxml'."; - assert M != null : "fx:id=\"M\" was not injected: check your FXML file 'gui.fxml'."; - assert A != null : "fx:id=\"A\" was not injected: check your FXML file 'gui.fxml'."; - assert S != null : "fx:id=\"S\" was not injected: check your FXML file 'gui.fxml'."; - assert D != null : "fx:id=\"D\" was not injected: check your FXML file 'gui.fxml'."; - assert F != null : "fx:id=\"F\" was not injected: check your FXML file 'gui.fxml'."; - assert G != null : "fx:id=\"G\" was not injected: check your FXML file 'gui.fxml'."; - assert H != null : "fx:id=\"H\" was not injected: check your FXML file 'gui.fxml'."; - assert J != null : "fx:id=\"J\" was not injected: check your FXML file 'gui.fxml'."; - assert K != null : "fx:id=\"K\" was not injected: check your FXML file 'gui.fxml'."; - assert Q != null : "fx:id=\"Q\" was not injected: check your FXML file 'gui.fxml'."; - assert W != null : "fx:id=\"W\" was not injected: check your FXML file 'gui.fxml'."; - assert E != null : "fx:id=\"E\" was not injected: check your FXML file 'gui.fxml'."; - assert R != null : "fx:id=\"R\" was not injected: check your FXML file 'gui.fxml'."; - assert T != null : "fx:id=\"T\" was not injected: check your FXML file 'gui.fxml'."; - assert Z != null : "fx:id=\"Z\" was not injected: check your FXML file 'gui.fxml'."; - assert U != null : "fx:id=\"U\" was not injected: check your FXML file 'gui.fxml'."; - assert I != null : "fx:id=\"I\" was not injected: check your FXML file 'gui.fxml'."; - assert O != null : "fx:id=\"O\" was not injected: check your FXML file 'gui.fxml'."; - assert löschen != null : "fx:id=\"löschen\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnWalzPos1 != null : "fx:id=\"w1\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnWalzPos3 != null : "fx:id=\"w3\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnWalzPos2 != null : "fx:id=\"w2\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnNotchPos3 != null : "fx:id=\"r3\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnNotchPos2 != null : "fx:id=\"r2\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnStartPos1 != null : "fx:id=\"a1\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnStartPos2 != null : "fx:id=\"a3\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnStartPos3 != null : "fx:id=\"a2\" was not injected: check your FXML file 'gui.fxml'."; - assert mBtnNotchPos1 != null : "fx:id=\"r1\" was not injected: check your FXML file 'gui.fxml'."; + assert btnL != null : "fx:id=\"btnL\" was not injected: check your FXML file 'gui.fxml'."; + assert btnP != null : "fx:id=\"btnP\" was not injected: check your FXML file 'gui.fxml'."; + assert btnY != null : "fx:id=\"btnY\" was not injected: check your FXML file 'gui.fxml'."; + assert btnX != null : "fx:id=\"btnX\" was not injected: check your FXML file 'gui.fxml'."; + assert btnC != null : "fx:id=\"btnC\" was not injected: check your FXML file 'gui.fxml'."; + assert btnV != null : "fx:id=\"btnV\" was not injected: check your FXML file 'gui.fxml'."; + assert btnB != null : "fx:id=\"btnB\" was not injected: check your FXML file 'gui.fxml'."; + assert btnN != null : "fx:id=\"btnN\" was not injected: check your FXML file 'gui.fxml'."; + assert btnM != null : "fx:id=\"btnM\" was not injected: check your FXML file 'gui.fxml'."; + assert btnA != null : "fx:id=\"btnA\" was not injected: check your FXML file 'gui.fxml'."; + assert btnS != null : "fx:id=\"btnS\" was not injected: check your FXML file 'gui.fxml'."; + assert btnD != null : "fx:id=\"btnD\" was not injected: check your FXML file 'gui.fxml'."; + assert btnF != null : "fx:id=\"btnF\" was not injected: check your FXML file 'gui.fxml'."; + assert btnG != null : "fx:id=\"btnG\" was not injected: check your FXML file 'gui.fxml'."; + assert btnH != null : "fx:id=\"btnH\" was not injected: check your FXML file 'gui.fxml'."; + assert btnJ != null : "fx:id=\"btnJ\" was not injected: check your FXML file 'gui.fxml'."; + assert btnK != null : "fx:id=\"btnK\" was not injected: check your FXML file 'gui.fxml'."; + assert btnQ != null : "fx:id=\"btnQ\" was not injected: check your FXML file 'gui.fxml'."; + assert btnW != null : "fx:id=\"btnW\" was not injected: check your FXML file 'gui.fxml'."; + assert btnE != null : "fx:id=\"btnE\" was not injected: check your FXML file 'gui.fxml'."; + assert btnR != null : "fx:id=\"btnR\" was not injected: check your FXML file 'gui.fxml'."; + assert btnT != null : "fx:id=\"btnT\" was not injected: check your FXML file 'gui.fxml'."; + assert btnZ != null : "fx:id=\"btnZ\" was not injected: check your FXML file 'gui.fxml'."; + assert btnU != null : "fx:id=\"btnU\" was not injected: check your FXML file 'gui.fxml'."; + assert btnI != null : "fx:id=\"btnI\" was not injected: check your FXML file 'gui.fxml'."; + assert btnO != null : "fx:id=\"btnO\" was not injected: check your FXML file 'gui.fxml'."; + assert btnLöschen != null : "fx:id=\"btnLöschen\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnWalzPos1 != null : "fx:id=\"mBtnWalzPos1\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnWalzPos3 != null : "fx:id=\"mBtnWalzPos3\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnWalzPos2 != null : "fx:id=\"mBtnWalzPos2\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnNotchPos3 != null : "fx:id=\"mBtnNotchPos3\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnNotchPos2 != null : "fx:id=\"mBtnNotchPos2\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnStartPos1 != null : "fx:id=\"mBtnStartPos1\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnStartPos3 != null : "fx:id=\"mBtnStartPos3\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnStartPos2 != null : "fx:id=\"mBtnStartPos2\" was not injected: check your FXML file 'gui.fxml'."; + assert tfrein != null : "fx:id=\"tfrein\" was not injected: check your FXML file 'gui.fxml'."; + assert tfcodiert != null : "fx:id=\"tfcodiert\" was not injected: check your FXML file 'gui.fxml'."; + assert tfKenngruppe != null : "fx:id=\"tfKenngruppe\" was not injected: check your FXML file 'gui.fxml'."; + assert mBtnNotchPos1 != null : "fx:id=\"mBtnNotchPos1\" was not injected: check your FXML file 'gui.fxml'."; + } // /** diff --git a/src/main/java/Enigma/model/Steckbrett.java b/src/main/java/Enigma/model/Steckbrett.java index 804c20328c2f1c9740bf7563a0e1133394e027f3..c6ebc5bd4bbc60c758734787d0de69e95dcf168c 100644 --- a/src/main/java/Enigma/model/Steckbrett.java +++ b/src/main/java/Enigma/model/Steckbrett.java @@ -1,61 +1,61 @@ -package Enigma.model; - -public class Steckbrett { - - private final Character[] WALZE_ALPHABET = {'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; - private Character buchstabeEins; - private Character buchstabeZwei; - private int iPositionEins; - private int iPositionZwei; - - public Character getBuchstabeEins() { - return buchstabeEins; - } - - public void setBuchstabeEins(Character buchstabeEins) { - this.buchstabeEins = buchstabeEins; - } - - public Character getBuchstabeZwei() { - return buchstabeZwei; - } - - public void setBuchstabeZwei(Character buchstabeZwei) { - this.buchstabeZwei = buchstabeZwei; - } - - - - public char vertauscheBuchstaben(){ - /*Variable um Index zu speichern*/ - int indexA = 0; - int indexB = 0; - - /*Ermittelt die Position des Buchstaben buchstabeEins auf der Alphabetswalze*/ - for(indexA = 0; indexA < WALZE_ALPHABET.length; indexA++) { - if(getBuchstabeEins().equals(WALZE_ALPHABET[index])) { - iPositionEins = index; - break; - } - } - - /*Ermittelt die Position des Buchstaben buchstabeZwei auf der Alphabetswalze*/ - for(indexA = 0; index < WALZE_ALPHABET.length; index++) { - if(getBuchstabeEins().equals(WALZE_ALPHABET[index])) { - iPositionEins = index; - break; - } - } - - - /*Im Char-Array WALZE_REFLEKTOR wird der Character an der Position iPositionReflektor ausgegeben*/ - reflektorBuchstabeRaus = WALZE_REFLEKTOR[iPositionReflektor]; - return reflektorBuchstabeRaus; - - - - - - return 0; - } -} +//package Enigma.model; +// +//public class Steckbrett { +// +// private final Character[] WALZE_ALPHABET = {'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; +// private Character buchstabeEins; +// private Character buchstabeZwei; +// private int iPositionEins; +// private int iPositionZwei; +// +// public Character getBuchstabeEins() { +// return buchstabeEins; +// } +// +// public void setBuchstabeEins(Character buchstabeEins) { +// this.buchstabeEins = buchstabeEins; +// } +// +// public Character getBuchstabeZwei() { +// return buchstabeZwei; +// } +// +// public void setBuchstabeZwei(Character buchstabeZwei) { +// this.buchstabeZwei = buchstabeZwei; +// } +// +// +// +// public char vertauscheBuchstaben(){ +// /*Variable um Index zu speichern*/ +// int indexA = 0; +// int indexB = 0; +// +// /*Ermittelt die Position des Buchstaben buchstabeEins auf der Alphabetswalze*/ +// for(indexA = 0; indexA < WALZE_ALPHABET.length; indexA++) { +// if(getBuchstabeEins().equals(WALZE_ALPHABET[index])) { +// iPositionEins = index; +// break; +// } +// } +// +// /*Ermittelt die Position des Buchstaben buchstabeZwei auf der Alphabetswalze*/ +// for(indexA = 0; index < WALZE_ALPHABET.length; index++) { +// if(getBuchstabeEins().equals(WALZE_ALPHABET[index])) { +// iPositionEins = index; +// break; +// } +// } +// +// +// /*Im Char-Array WALZE_REFLEKTOR wird der Character an der Position iPositionReflektor ausgegeben*/ +// reflektorBuchstabeRaus = WALZE_REFLEKTOR[iPositionReflektor]; +// return reflektorBuchstabeRaus; +// +// +// +// +// +// return 0; +// } +//} diff --git a/src/main/resources/Enigma/gui.fxml b/src/main/resources/Enigma/gui.fxml index 39c9bb75187bc7ab0c929846ad57140b445ec44e..e196eeb372928689afae3f8a86b530dc278f28ac 100644 --- a/src/main/resources/Enigma/gui.fxml +++ b/src/main/resources/Enigma/gui.fxml @@ -21,41 +21,41 @@ <TextField layoutX="693.0" layoutY="625.0" prefHeight="25.0" prefWidth="48.0" /> <ButtonBar layoutX="31.0" layoutY="570.0" prefHeight="36.0" prefWidth="860.0"> <buttons> - <Button fx:id="L" mnemonicParsing="false" onAction="#gedrueckteTaste" text="L" /> - <Button fx:id="P" mnemonicParsing="false" onAction="#gedrueckteTaste" text="P" /> - <Button fx:id="Y" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Y" /> - <Button fx:id="X" mnemonicParsing="false" onAction="#gedrueckteTaste" text="X" /> - <Button fx:id="C" mnemonicParsing="false" onAction="#gedrueckteTaste" text="C" /> - <Button fx:id="V" mnemonicParsing="false" onAction="#gedrueckteTaste" text="V" /> - <Button fx:id="B" mnemonicParsing="false" onAction="#gedrueckteTaste" text="B" /> - <Button fx:id="N" mnemonicParsing="false" onAction="#gedrueckteTaste" text="N" /> - <Button fx:id="M" mnemonicParsing="false" onAction="#gedrueckteTaste" text="M" /> + <Button fx:id="btnL" mnemonicParsing="false" onAction="#gedrueckteTaste" text="L" /> + <Button fx:id="btnP" mnemonicParsing="false" onAction="#gedrueckteTaste" text="P" /> + <Button fx:id="btnY" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Y" /> + <Button fx:id="btnX" mnemonicParsing="false" onAction="#gedrueckteTaste" text="X" /> + <Button fx:id="btnC" mnemonicParsing="false" onAction="#gedrueckteTaste" text="C" /> + <Button fx:id="btnV" mnemonicParsing="false" onAction="#gedrueckteTaste" text="V" /> + <Button fx:id="btnB" mnemonicParsing="false" onAction="#gedrueckteTaste" text="B" /> + <Button fx:id="btnN" mnemonicParsing="false" onAction="#gedrueckteTaste" text="N" /> + <Button fx:id="btnM" mnemonicParsing="false" onAction="#gedrueckteTaste" text="M" /> </buttons> </ButtonBar> <ButtonBar layoutX="15.0" layoutY="534.0" prefHeight="36.0" prefWidth="860.0"> <buttons> - <Button fx:id="A" mnemonicParsing="false" onAction="#gedrueckteTaste" text="A" /> - <Button fx:id="S" mnemonicParsing="false" onAction="#gedrueckteTaste" text="S" /> - <Button fx:id="D" mnemonicParsing="false" onAction="#gedrueckteTaste" text="D" /> - <Button fx:id="F" mnemonicParsing="false" onAction="#gedrueckteTaste" text="F" /> - <Button fx:id="G" mnemonicParsing="false" onAction="#gedrueckteTaste" text="G" /> - <Button fx:id="H" mnemonicParsing="false" onAction="#gedrueckteTaste" text="H" /> - <Button fx:id="J" mnemonicParsing="false" onAction="#gedrueckteTaste" text="J" /> - <Button fx:id="K" mnemonicParsing="false" onAction="#gedrueckteTaste" text="K" /> + <Button fx:id="btnA" mnemonicParsing="false" onAction="#gedrueckteTaste" text="A" /> + <Button fx:id="btnS" mnemonicParsing="false" onAction="#gedrueckteTaste" text="S" /> + <Button fx:id="btnD" mnemonicParsing="false" onAction="#gedrueckteTaste" text="D" /> + <Button fx:id="btnF" mnemonicParsing="false" onAction="#gedrueckteTaste" text="F" /> + <Button fx:id="btnG" mnemonicParsing="false" onAction="#gedrueckteTaste" text="G" /> + <Button fx:id="btnH" mnemonicParsing="false" onAction="#gedrueckteTaste" text="H" /> + <Button fx:id="btnJ" mnemonicParsing="false" onAction="#gedrueckteTaste" text="J" /> + <Button fx:id="btnK" mnemonicParsing="false" onAction="#gedrueckteTaste" text="K" /> </buttons> </ButtonBar> <ButtonBar layoutX="22.0" layoutY="491.0" prefHeight="25.0" prefWidth="583.0"> <buttons> - <Button fx:id="Q" minWidth="13.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="25.0" text="Q" /> - <Button fx:id="W" mnemonicParsing="false" onAction="#gedrueckteTaste" text="W" /> - <Button fx:id="E" mnemonicParsing="false" onAction="#gedrueckteTaste" text="E" /> - <Button fx:id="R" mnemonicParsing="false" onAction="#gedrueckteTaste" text="R" /> - <Button fx:id="T" mnemonicParsing="false" onAction="#gedrueckteTaste" text="T" /> - <Button fx:id="Z" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Z" /> - <Button fx:id="U" mnemonicParsing="false" onAction="#gedrueckteTaste" text="U" /> - <Button fx:id="I" mnemonicParsing="false" onAction="#gedrueckteTaste" text="I" /> - <Button fx:id="O" mnemonicParsing="false" onAction="#gedrueckteTaste" text="O" /> - <Button fx:id="löschen" mnemonicParsing="false" text="Löschen" /> + <Button fx:id="btnQ" minWidth="13.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="25.0" text="Q" /> + <Button fx:id="btnW" mnemonicParsing="false" onAction="#gedrueckteTaste" text="W" /> + <Button fx:id="btnE" mnemonicParsing="false" onAction="#gedrueckteTaste" text="E" /> + <Button fx:id="btnR" mnemonicParsing="false" onAction="#gedrueckteTaste" text="R" /> + <Button fx:id="btnT" mnemonicParsing="false" onAction="#gedrueckteTaste" text="T" /> + <Button fx:id="btnZ" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Z" /> + <Button fx:id="btnU" mnemonicParsing="false" onAction="#gedrueckteTaste" text="U" /> + <Button fx:id="btnI" mnemonicParsing="false" onAction="#gedrueckteTaste" text="I" /> + <Button fx:id="btnO" mnemonicParsing="false" onAction="#gedrueckteTaste" text="O" /> + <Button fx:id="btnLöschen" mnemonicParsing="false" text="Löschen" /> </buttons> </ButtonBar> <ButtonBar layoutX="39.0" layoutY="418.0" prefHeight="36.0" prefWidth="860.0"> @@ -142,11 +142,11 @@ </MenuButton> <MenuButton fx:id="mBtnStartPos2" layoutX="137.0" layoutY="157.0" mnemonicParsing="false" text="A"> </MenuButton> - <TextField layoutX="246.0" layoutY="76.0" prefHeight="77.0" prefWidth="410.0" /> - <TextField layoutX="248.0" layoutY="182.0" prefHeight="77.0" prefWidth="410.0" /> + <TextField fx:id="tfrein" layoutX="246.0" layoutY="76.0" prefHeight="77.0" prefWidth="410.0" /> + <TextField fx:id="tfcodiert" layoutX="248.0" layoutY="182.0" prefHeight="77.0" prefWidth="410.0" /> <Button layoutX="717.0" layoutY="221.0" mnemonicParsing="false" onAction="#btnsenden" prefHeight="69.0" prefWidth="164.0" text="An Funker senden" /> - <Button layoutX="717.0" layoutY="135.0" mnemonicParsing="false" onAction="#empfangen" prefHeight="69.0" prefWidth="164.0" text="Funkspruch empfangen" /> - <TextField layoutX="725.0" layoutY="76.0" /> + <Button layoutX="717.0" layoutY="135.0" mnemonicParsing="false" onAction="#btnempfangen" prefHeight="69.0" prefWidth="164.0" text="Funkspruch empfangen" /> + <TextField fx:id="tfKenngruppe" layoutX="725.0" layoutY="76.0" /> <Label layoutX="727.0" layoutY="51.0" prefHeight="17.0" prefWidth="149.0" text="Kenngruppe" /> <MenuButton fx:id="mBtnNotchPos1" layoutX="93.0" layoutY="114.0" mnemonicParsing="false" text="1" /> <Label layoutX="29.0" layoutY="80.0" text="Walze" />