diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java index 6978536e906d2950485513c82069e97cb0e1f67c..859ed36c1a2fa2b112d3db6ecef42604b3122b0b 100644 --- a/src/main/java/projekt/enigma/GuiController.java +++ b/src/main/java/projekt/enigma/GuiController.java @@ -271,9 +271,9 @@ public class GuiController { setText(btnZ); leuchten(chiffCircle(chiffrierterBuchstabe), BUCHSTABE_LEUCHTET.AN); } - if (e.getSource() == btnSenden)sendeFunkspruch(); +/* if (e.getSource() == btnSenden)sendeFunkspruch(); if (e.getSource() == btnEmpfangen) empfangeFunkspruch(); - if (e.getSource() == btnDelete) loeschen(); + if (e.getSource() == btnDelete) loeschen();*/ } /** * Auswertung welcher Button (senden, empfangen oder löschen) gedrückt wurde. @@ -282,10 +282,19 @@ public class GuiController { */ @FXML private void gedrueckteTaste(ActionEvent e) { - if (e.getSource() == btnSenden) sendeFunkspruch(); + if (e.getSource() == btnSenden && tfCodiert.getText()!="") sendeFunkspruch(); if (e.getSource() == btnEmpfangen) empfangeFunkspruch(); if (e.getSource() == btnDelete) loeschen(); - if (e.getSource() == btnReset) setzeTagesSchluessel(); + if (e.getSource() == btnReset) { + codierer.resetHardware(); + setzeTagesSchluessel(); + codierer.generateSpruchschluessel(); + codierer.getSpruchschluessel(); + lblSpruchschluessel.setText(codierer.getSpruchschluessel()); + tfCodiert.setText(""); + tfKlartext.setText(""); + textCodiert=textEingabe=""; + } } //endregion @@ -390,8 +399,12 @@ public class GuiController { setzeRing(2, Integer.parseInt(mItm.getText()) - 1); if (mBtn.getId().equals(mBtnNotchPos3.getId())) setzeRing(3, Integer.parseInt(mItm.getText()) - 1); + tfCodiert.setText(""); + tfKlartext.setText(""); } + + /** * Hier werden die TextFelder, welche die Steckverbindungen darstellen, * mit dem Werten die die Klasse Codierer zur Verfügung stellt gefüllt. @@ -545,6 +558,50 @@ public class GuiController { } } + /** + * Setzt die Anzeige des entsprechende Gui-Element auf die entsprechende Walze + * -> d.h. welche Walze sitzt auf welcher Position + * @param walzenPosition => gibt die Position der Walze + * @param walzeNr => gibt die Walzennummer an + */ + private void setzeWalze(int walzenPosition, int walzeNr) { + //int walzeNr = 0; + switch (walzeNr) { + case 1: + walzeNr = 0; + break; + case 2: + walzeNr = 1; + break; + case 3: + walzeNr = 2; + break; + case 4: + walzeNr = 3; + break; + case 5: + walzeNr = 4; + break; + default: + break; + } + + switch (walzenPosition) { + case 1: + mBtnWalzPos1.setText(walzenNr[walzeNr]); + //codierer.setWalze(walzeNr, walzenPosition) + break; + case 2: + mBtnWalzPos2.setText(walzenNr[walzeNr]); + break; + case 3: + mBtnWalzPos3.setText(walzenNr[walzeNr]); + break; + default: + break; + } + } + /** * Setzt den Notch (position)=> die Mitnahmeposition der Walze (walze) fest * Mitnahmeposition meint => die nächste Walze wird bei erreichen dieser Position (notch) @@ -601,9 +658,9 @@ public class GuiController { mBtnNotchPos2.setText(String.valueOf(codierer.fetchRingstellung()[1])); mBtnNotchPos3.setText(String.valueOf(codierer.fetchRingstellung()[2])); // Walzennummern anzeigen - mBtnWalzPos1.setText(String.valueOf(codierer.fetchWalzenNr()[0])); - mBtnWalzPos2.setText(String.valueOf(codierer.fetchWalzenNr()[1])); - mBtnWalzPos3.setText(String.valueOf(codierer.fetchWalzenNr()[2])); + setzeWalze(1, codierer.fetchWalzenNr()[0]); + setzeWalze(2, codierer.fetchWalzenNr()[1]); + setzeWalze(3, codierer.fetchWalzenNr()[2]); // Position der Walzen anzeigen mBtnStartPos1.setText(String.valueOf(codierer.fetchWalzen()[0])); mBtnStartPos2.setText(String.valueOf(codierer.fetchWalzen()[1]));