diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java index fd92c90f4880014a98421384df43cdfbb1fce429..9c5f152114a21aa0e2a0e8e2a825cb960b7f33c6 100644 --- a/src/main/java/projekt/enigma/GuiController.java +++ b/src/main/java/projekt/enigma/GuiController.java @@ -353,7 +353,6 @@ public class GuiController { menu(mBtnStartPos3, position); menu(mBtnStartPos2, position); - //Setze Leucht Event bei Tastendruck leuchten(btnA, circA); leuchten(btnB, circB); @@ -382,23 +381,15 @@ public class GuiController { leuchten(btnY, circY); leuchten(btnZ, circZ); + // Initialisieren des Codierers und setzen der Kenngruppe this.codierer = new Codierer(); this.codierer.setKenngruppe("enigma"); + // Beim nächsten Tastendruck erstmal das Display löschen damit falschen Nachrichten geschickt werden. this.resetDisplay = true; - // Umsprungpunkte anzeigen - mBtnNotchPos1.setText(String.valueOf(this.codierer.fetchRingstellung()[0])); - mBtnNotchPos2.setText(String.valueOf(this.codierer.fetchRingstellung()[1])); - mBtnNotchPos3.setText(String.valueOf(this.codierer.fetchRingstellung()[2])); - // Walzennummern anzeigen - mBtnWalzPos1.setText(String.valueOf(this.codierer.getchWalzenNr()[0])); - mBtnWalzPos2.setText(String.valueOf(this.codierer.getchWalzenNr()[1])); - mBtnWalzPos3.setText(String.valueOf(this.codierer.getchWalzenNr()[2])); - // Walzen auf ihre Position setzen. Der Spruchschlüssel ist hier bereits berücksichtigt. - mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0])); - mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1])); - mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2])); + // Einstellungen aus dem Logbuch auslesen und setzen + this.setzeTagesSchluessel(); } /** @@ -426,18 +417,8 @@ public class GuiController { // Spruchschluessel in das Feld lblSpruchschluessel schreiben lblSpruchschluessel.setText(this.codierer.empfangenerSpruchschluessel(empfangeneNachricht[2])); - // Umsprungpunkte anzeigen - mBtnNotchPos1.setText(String.valueOf(this.codierer.fetchRingstellung()[0])); - mBtnNotchPos2.setText(String.valueOf(this.codierer.fetchRingstellung()[1])); - mBtnNotchPos3.setText(String.valueOf(this.codierer.fetchRingstellung()[2])); - // Walzennummern anzeigen - mBtnWalzPos1.setText(String.valueOf(this.codierer.getchWalzenNr()[0])); - mBtnWalzPos2.setText(String.valueOf(this.codierer.getchWalzenNr()[1])); - mBtnWalzPos3.setText(String.valueOf(this.codierer.getchWalzenNr()[2])); - // Position der Walzen anzeigen - mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0])); - mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1])); - mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2])); + + this.setzeTagesSchluessel(); } } @@ -668,10 +649,55 @@ public class GuiController { /** * Setzt den aktuellen TagesSchluessel - * - * @param tagesSchluessel => neuen Tagesschluessel übergeben */ - public void setzeTagesSchluessel(String tagesSchluessel) { + public void setzeTagesSchluessel() { + + // Umsprungpunkte anzeigen + mBtnNotchPos1.setText(String.valueOf(this.codierer.fetchRingstellung()[0])); + mBtnNotchPos2.setText(String.valueOf(this.codierer.fetchRingstellung()[1])); + mBtnNotchPos3.setText(String.valueOf(this.codierer.fetchRingstellung()[2])); + // Walzennummern anzeigen + mBtnWalzPos1.setText(String.valueOf(this.codierer.getchWalzenNr()[0])); + mBtnWalzPos2.setText(String.valueOf(this.codierer.getchWalzenNr()[1])); + mBtnWalzPos3.setText(String.valueOf(this.codierer.getchWalzenNr()[2])); + // Position der Walzen anzeigen + mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0])); + mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1])); + mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2])); + // Steckbrett Felder setzen + // TODO: Das er das String.valueOf ausgraut, gefällt mir nicht, genauso wie den langen Block. + // Hat da noch jemand eine bessere Idee? + tfStecker1.setText( + String.valueOf(this.codierer.getSteckverbindungen()[0][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[0][1])); + tfStecker2.setText( + String.valueOf(this.codierer.getSteckverbindungen()[1][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[1][1])); + tfStecker3.setText( + String.valueOf(this.codierer.getSteckverbindungen()[2][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[2][1])); + tfStecker4.setText( + String.valueOf(this.codierer.getSteckverbindungen()[3][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[3][1])); + tfStecker5.setText( + String.valueOf(this.codierer.getSteckverbindungen()[4][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[4][1])); + tfStecker6.setText( + String.valueOf(this.codierer.getSteckverbindungen()[5][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[5][1])); + tfStecker7.setText( + String.valueOf(this.codierer.getSteckverbindungen()[6][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[6][1])); + tfStecker8.setText( + String.valueOf(this.codierer.getSteckverbindungen()[7][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[7][1])); + tfStecker9.setText( + String.valueOf(this.codierer.getSteckverbindungen()[8][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[8][1])); + tfStecker10.setText( + String.valueOf(this.codierer.getSteckverbindungen()[9][0]) + + String.valueOf(this.codierer.getSteckverbindungen()[9][1])); + /* * TODO Benötige TestString aus der DB Codebuch * diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java index 4d9562fb8b34344e41d33fb556c92c3f29fcd269..e2b6247533a25d2c4feda3ae8baee0382ed11826 100644 --- a/src/main/java/projekt/enigma/model/Codierer.java +++ b/src/main/java/projekt/enigma/model/Codierer.java @@ -446,4 +446,8 @@ public class Codierer { public int[] getchWalzenNr() { return this.codebuch.getWalzenlage(); } + + public char[][] getSteckverbindungen() { + return this.codebuch.getSteckverbindung(); + } }