import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.applet.*;
import javax.swing.JApplet.*;
/**
*
* Beschreibung.
*
* @version 1.0 vom 31.10.2005
* @author Bastian Schaefer
*/
public class Passwort extends JFrame implements ActionListener{
// Anfang Variablen
JMenuBar Menue = new JMenuBar();
JMenu jmuZeichen = new JMenu("Zeichen");
JMenuItem ZeichenJMenuItem1 = new JMenuItem("kleines Alphabet");
JMenuItem ZeichenJMenuItem2 = new JMenuItem("großes Alphabet");
JMenuItem ZeichenJMenuItem3 = new JMenuItem("àáâ...");
JMenuItem ZeichenJMenuItem4 = new JMenuItem("ÀÁÂ...");
JMenuItem ZeichenJMenuItem5 = new JMenuItem("Sonderzeichen");
JMenuItem ZeichenJMenuItem6 = new JMenuItem("Zahlen");
JTextField länge,zvorrat;
JTextArea ausgabe;
JButton generate;
JLabel label,label2,zeichenvorrat, copyright;
Zeichenvorrat vorrat = new Zeichenvorrat();
private JRadioButton jRadioButton1 = new JRadioButton("",true);
private JRadioButton jRadioButton2 = new JRadioButton();
private JRadioButton jRadioButton3 = new JRadioButton();
private JRadioButton jRadioButton4 = new JRadioButton();
private JRadioButton jRadioButton5 = new JRadioButton();
private JRadioButton jRadioButton6 = new JRadioButton();
private JRadioButton jRadioButton7 = new JRadioButton();
private JRadioButton jRadioButton8 = new JRadioButton();
// Ende Variablen
public Passwort() {
// Frame-Initialisierung
super("Passwortgenerator");
this.getContentPane().setLayout(null);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width-13*(screenSize.width)/15),(screenSize.height-14*(screenSize.height)/15));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
// Anfang Komponenten
this.setJMenuBar(Menue);
Menue.add(jmuZeichen);
ZeichenJMenuItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ZeichenJMenuItem1ActionPerformed(evt);
}
});
jmuZeichen.add(ZeichenJMenuItem1);
ZeichenJMenuItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ZeichenJMenuItem2ActionPerformed(evt);
}
});
jmuZeichen.add(ZeichenJMenuItem2);
ZeichenJMenuItem3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ZeichenJMenuItem3ActionPerformed(evt);
}
});
jmuZeichen.add(ZeichenJMenuItem3);
ZeichenJMenuItem4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ZeichenJMenuItem4ActionPerformed(evt);
}
});
jmuZeichen.add(ZeichenJMenuItem4);
ZeichenJMenuItem5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ZeichenJMenuItem5ActionPerformed(evt);
}
});
jmuZeichen.add(ZeichenJMenuItem5);
ZeichenJMenuItem6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ZeichenJMenuItem6ActionPerformed(evt);
}
});
jmuZeichen.add(ZeichenJMenuItem6);
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
label = new JLabel("Passwortlänge:");
label.setBounds(25,10,90,20);
label2 = new JLabel("Zeichen");
label2.setBounds(170,10,50,20);
länge = new JTextField();
//länge.setLineWrap(false);
länge.setBounds(120,10,50,20);
länge.setText("8");
länge.setToolTipText("Das Passwort sollte mindestens 8 Zeichen lang sein!");
zeichenvorrat = new JLabel ("Im Passwort enthaltene Zeichen:");
zeichenvorrat.setBounds(25,45,300,17);
jRadioButton7.setBounds(20, 70, 80, 17);
jRadioButton7.setText("0-9");
jRadioButton7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton7ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton7);
jRadioButton2.setBounds(20, 92, 80, 17);
jRadioButton2.setText("a-z A-z");
jRadioButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton2ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton2);
jRadioButton3.setBounds(20, 116, 115, 17);
jRadioButton3.setText("Sonderzeichen");
jRadioButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton3ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton3);
jRadioButton1.setBounds(20, 140, 115, 17);
jRadioButton1.setText("alle Zeichen");
//jRadioButton1.setEnabled(true);
jRadioButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton1ActionPerformed(evt);
}
});
vorrat.setSelection(1);
this.getContentPane().add(jRadioButton1);
jRadioButton4.setBounds(140, 70, 140, 17);
jRadioButton4.setText("a-z A-z 0-9");
jRadioButton4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton4ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton4);
jRadioButton5.setBounds(140, 92, 140, 17);
jRadioButton5.setText("0-9 Sonderzeichen");
jRadioButton5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton5ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton5);
jRadioButton6.setBounds(140, 116, 160, 17);
jRadioButton6.setText("a-z A-z Sonderzeichen");
jRadioButton6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton6ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton6);
jRadioButton8.setBounds(140, 140, 115, 17);
jRadioButton8.setText("eigene Zeichen:");
jRadioButton8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jRadioButton8ActionPerformed(evt);
}
});
this.getContentPane().add(jRadioButton8);
zvorrat = new JTextField();
zvorrat.setBounds(160,160,120,20);
zvorrat.setText("Ihr Zeichenvorrat");
zvorrat.setEditable(false);
zvorrat.setToolTipText("Hier den eigenen Zeichenvorrat eintragen!");
ButtonGroup group = new ButtonGroup();
group.add(jRadioButton1);
group.add(jRadioButton2);
group.add(jRadioButton3);
group.add(jRadioButton4);
group.add(jRadioButton5);
group.add(jRadioButton6);
group.add(jRadioButton7);
group.add(jRadioButton8);
ausgabe = new JTextArea("");
ausgabe.setLineWrap(true);
ausgabe.setEditable(false);
ausgabe.setToolTipText("generiertes Passwort");
generate = new JButton("generieren");
generate.setBounds(100,235, 100, 25);
generate.addActionListener(this);
copyright = new JLabel("(C) 2005 Bastian Schaefer");
copyright.setBounds(76,265,150,25);
JScrollPane ScrollPane = new JScrollPane();
JPanel Panel = new JPanel();
ScrollPane.getViewport().add(ausgabe);
Panel.setLayout(new GridLayout());
Panel.add(ScrollPane);
Panel.setBounds(20,185,260,50);
this.getContentPane().add(Panel);
this.getContentPane().add(generate);
this.getContentPane().add(länge);
this.getContentPane().add(zvorrat);
this.getContentPane().add(label);
this.getContentPane().add(label2);
this.getContentPane().add(zeichenvorrat);
this.getContentPane().add(copyright);
this.setSize(309,340);
this.setResizable(false);
this.setVisible(true);
// Ende Komponenten
setVisible(true);
}
// Anfang Ereignisprozeduren
public void ZeichenJMenuItem1ActionPerformed(ActionEvent evt) {
zvorrat.setText(zvorrat.getText()+"abcdefghijklmnopqrstuvqxyz");
}
public void ZeichenJMenuItem2ActionPerformed(ActionEvent evt) {
zvorrat.setText(zvorrat.getText()+"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
}
public void ZeichenJMenuItem3ActionPerformed(ActionEvent evt) {
zvorrat.setText(zvorrat.getText()+"áàâéèêíìîóòôúùû");
}
public void ZeichenJMenuItem4ActionPerformed(ActionEvent evt) {
zvorrat.setText(zvorrat.getText()+"ÁÀÂÉÈÊÍÌÎÓÒÔÚÙÛ");
}
public void ZeichenJMenuItem5ActionPerformed(ActionEvent evt) {
zvorrat.setText(zvorrat.getText()+"°!\"§$%&/()=?²³{[]}\\+*~#'-_.:,;<>|@€");
}
public void ZeichenJMenuItem6ActionPerformed(ActionEvent evt) {
zvorrat.setText(zvorrat.getText()+"1234567890");
}
public void jRadioButton1ActionPerformed(ActionEvent evt) {
vorrat.setSelection(1);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton2ActionPerformed(ActionEvent evt) {
vorrat.setSelection(2);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton3ActionPerformed(ActionEvent evt) {
vorrat.setSelection(3);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton4ActionPerformed(ActionEvent evt) {
vorrat.setSelection(4);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton5ActionPerformed(ActionEvent evt) {
vorrat.setSelection(5);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton6ActionPerformed(ActionEvent evt) {
vorrat.setSelection(6);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton7ActionPerformed(ActionEvent evt) {
vorrat.setSelection(7);
zvorrat.setEditable(false);
zvorrat.setText("Ihr Zeichenvorrat");
ZeichenJMenuItem1.setEnabled(false);
ZeichenJMenuItem2.setEnabled(false);
ZeichenJMenuItem3.setEnabled(false);
ZeichenJMenuItem4.setEnabled(false);
ZeichenJMenuItem5.setEnabled(false);
ZeichenJMenuItem6.setEnabled(false);
}
public void jRadioButton8ActionPerformed(ActionEvent evt) {
vorrat.setSelection(8);
zvorrat.setEditable(true);
zvorrat.setText("");
ZeichenJMenuItem1.setEnabled(true);
ZeichenJMenuItem2.setEnabled(true);
ZeichenJMenuItem3.setEnabled(true);
ZeichenJMenuItem4.setEnabled(true);
ZeichenJMenuItem5.setEnabled(true);
ZeichenJMenuItem6.setEnabled(true);
}
public void actionPerformed(ActionEvent e) {
try {
int länge1 = Integer.parseInt(länge.getText());
if (länge1 <= 1000 && länge1 > 0) {
vorrat.setLänge(länge1);
vorrat.setVorrat(zvorrat.getText());
}
else {
JOptionPane.showMessageDialog(this,"Passwortlänge ungültig!\nErlaubte Eingabe: ganze Zahl zwischen 1 und 1000","ERROR",JOptionPane.ERROR_MESSAGE);}
if (länge1 < 8 && länge1 > 0) {
JOptionPane.showMessageDialog(this,"Ein Passwort mit weniger als\n8 Zeichen gilt als unsicher!","INFO",JOptionPane.INFORMATION_MESSAGE);}
if (zvorrat.getText().length() != 0){
ausgabe.setText(vorrat.pass());}
else {
JOptionPane.showMessageDialog(this,"Kein Zeichenvorrat definiert!","ERROR",JOptionPane.ERROR_MESSAGE);}
} catch(NumberFormatException nfe) {
JOptionPane.showMessageDialog(this,"Passwortlänge ungültig!\nErlaubte Eingabe: ganze Zahl zwischen 1 und 1000","ERROR",JOptionPane.ERROR_MESSAGE);
}
}
// Ende Ereignisprozeduren
public static void main(String[] args) {
new Passwort();
}
}