# GUI für Passwort Generator



## Gogosch (22. Mai 2014)

Servus,

ich arbeite zurzeit an einem Passwort Generator, dieser funktioniert auch einwandfrei. 
Da ich noch Anfänger bin, arbeite ich zurzeit mit BlueJ. 
Für den Passwort Generator brauch ich allerdings eine grafische Oberfläche.

Hier erst mal die Klasse des Passwort Generators:


```
public class PasswortGenerator {
        // Die Möglichen Zeichen werden hier definiert die für das Passwort genutzt werden.
        public String[] kleinbuchstaben = {"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"};
        public String[] großbuchstaben = {"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"};
        public String[] zahlen = {"1","2","3","4","5","6","7","8","9","0"};
        public String[] sonderzeichen = {",",";",".",":","-","_","!","§","$","%","&","/","(",")","[","]","{","}","=","?","\\","^","#","'"};
       
        public String generate(int l, boolean isKB, boolean isGB, boolean isZ, boolean isS) {
            String pw = "";
           
            while(pw.length() < l) {
                int w = (int) (Math.random() * 4);
     
            if (w == 0 && isKB) {
                pw += this.kleinbuchstabeGenerieren();
            } else if (w == 1 && isGB) {
                pw += this.großbuchstabeGenerieren();
            } else if (w == 2 && isZ) {
                pw += this.zahlGenerieren();
            } else if (w == 3 && isS) {
                pw += this.sonderzeichenGenerieren();
            }
            }
           
            return pw;
        }
       
        public String kleinbuchstabeGenerieren() {
            return kleinbuchstaben[(int) (Math.random() * (kleinbuchstaben.length - 1))];
        }
       
        public String großbuchstabeGenerieren() {
            return großbuchstaben[(int) (Math.random() * (großbuchstaben.length - 1))];
        }
       
        public String zahlGenerieren() {
            return zahlen[(int) (Math.random() * (zahlen.length - 1))];
        }
       
        public String sonderzeichenGenerieren() {
            return sonderzeichen[(int) (Math.random() * (sonderzeichen.length - 1))];
        }
    }
```

Das Passwort kann je nach Wahl mit Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen generiert werden. Die Anzahl der Zeichen kann ebenfalls angegeben werden.
Nun da ich gerne die Software einigen Kollegen präsentieren würde brauch ich eine einfache grafische Oberfläche, die wie folgt aussehen sollte:





Ich freue mich über jede Hilfe.

Gruß Gogosch


----------



## Tobse (22. Mai 2014)

Als erfahrener UNIX-Benutzer möchte ich dir gleich einen Tipp mitgeben:
Lasse dein jetziges Programm als Kommandozeilen-Anwendung und richte es so ein, dass es komplett mit Kommandozeilen-Argumenten arbeiten kann.

Dann machst du ein Separates Projekt auf, welches deine GUI enthalten wird. Das nimmt dann über die GUI alle Parameter entgegen und leitet sie an deine Kommandozeilen-Anwendung weiter; die ergebnisse fasst es ebenfalls wieder auf und zeigt sie hübsch an.

Zur GUI selbst:
Es ist gerade eine Disukussion um GUI-Builder im Gange. Wenn du eine GUI nicht selbst schreiben kannst, verwende auch keinen GUI-Builder!!!.
Zum selbst schreiben sind (ausgehend von dem Entwurf in deinem Post) folgende Klassen für Dich von Relevanz:

[JAPI]javax.swing.JFrame[/JAPI]
[JAPI]javax.swing.JButton[/JAPI]
[JAPI]javax.swing.JLabel[/JAPI] mit [JAPI]java.awt.Font[/JAPI]
[JAPI]javax.swing.JSpinner[/JAPI] mit [JAPI]javax.swing.SpinnerModel[/JAPI]
[JAPI]javax.swing.JCheckbox[/JAPI]
[JAPI]javax.swing.JTextArea[/JAPI] (für die generierten Passwörter)


----------



## Gogosch (22. Mai 2014)

Danke erst mal für deine Antwort, aber um ehrlich zu sein, versteh die Sache mit dem GUI überhaupt nicht, deshalb hab ich auch diesen Thread erstellt. Mit der Hoffnung, dass jemand so nett ist und kurz eine GUI erstellen könnte, auch wenn nur mit so einem GUI Builder.

Etwas ganz Einfaches würde reichen.

Gruß Gogosch


----------



## Tobse (22. Mai 2014)

Einfach machen wird dir das umsonst keiner. Für ein bisschen Geld bekommst du sicherlich ne GUI zusammengeklickt, aber der Lerneffekt bleibt eben ganz aus.


----------



## Gogosch (24. Mai 2014)

Okay versteh ich natürlich das hier keiner Seine zeit umsonst opfern möchte aber hab jemanden gefunden der doch noch so freundlich ist und mir dabei geholfen hat, ohne jegliche Gegenleistung dafür zu verlangen.

Gogosch


----------



## kaoZ (24. Mai 2014)

Das Problem ist halt auch einfach klar, könnten wir dir eine GUI Programmieren , und dann ? du müsstest dann deinen bestehenden Code z.B per MVC Pattern mit deiner GUI verbinden , bzw. die Funktionalität hinzufügen.

Die GUI selbst ist schnell realisiert, die implementierung der logik allerdings wird sicher nicht einfach / wenn nicht sogar unmöglich ohne gewisse kenntnisse, also ich schreib dir die GUI wenn du möchtest, ob dir das dann wirklich weiterhilft ist ne andere Sache ^^


----------



## Gogosch (24. Mai 2014)

Danke aber das ganze ist bereits fertig 

Gogosch


----------

