# Problem mit Passwort einlesen und vergleichen



## Bjarne (26. Feb 2011)

Hi Leute,

Ich habe ein Problem mit meinem Passwort-Enlese-Programm (Bin noch ein ziemlicher Anfänger). Ich möchte, dass ein Passwort eingelesen wird und hinterher ein Message-Dialog angezeigt wird mit entweder "richtiges Passwort" oder "Falsches Passwort". Zudem möchte ich, dass bei dreimaliger Fehleingabe das Programm automatisch geschlossen wird.
Die Probleme dabei sind:
1.) Das Passwort kann nicht mit einem anderen String verglichen werden
2.) Es wird nicht heruntergezählt, so dass das Programm nicht automatisch beendet wird

Hier ist der Quellcode:


```
package passwortgrafisch;

import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.event.*;


public class PasswortGrafisch extends JFrame implements ActionListener
{

    JPasswordField Passwortfeld = new JPasswordField(10);
    JButton OK = new JButton("OK");
    JLabel Passworttext = new JLabel("Bitte Passwort eingeben:");

    public PasswortGrafisch()
            {
        super("Passworteingabe");
        JPanel contentPane = new JPanel();

        contentPane.add(Passworttext);
        contentPane.add(Passwortfeld);
        contentPane.add(OK);

        OK.addActionListener(this);

        setContentPane(contentPane);
            }

    public void actionPerformed(ActionEvent ae)
        {
        Object EventQuelle = ae.getSource();
        int i = 3;

        if (EventQuelle == OK)
            {
            String text;
            text = new String(Passwortfeld.getPassword());
            if (text == "Hallo")
                {
                JOptionPane.showMessageDialog(this, "richtiges Passwort!", "richtiges Passwort", -1);
                }
            else
                {
                JOptionPane.showMessageDialog(this, "Falsches Passwort\nNoch "+ (i - 1) +" Versuche", "Error", 0);
                Passwortfeld.setText("");
                i--;
                }
            }
        if (i <= 1)
            {
            System.exit(0);
            }
        }
    
    public static void main(String[] args) {
   
    JFrame rahmen = new PasswortGrafisch();
    
    WindowListener listener = new WindowAdapter()
            {
            public void windowClosing(WindowEvent we)
                    {
                    System.exit(0);
                    }
            };
            rahmen.addWindowListener(listener);
            rahmen.setSize(250, 100);
            rahmen.setVisible(true);

    }
}
```

Ich hoffe irgendjemand kann mir schnell helfen!

Bjarne


----------



## XHelp (26. Feb 2011)

Strings werden nicht mit 
	
	
	
	





```
==
```
 vergliechen, sondern mit 
	
	
	
	





```
s.equals("test")
```
Das den Counter angeht: mach dir Sysouts rein und schau, was wo wann passiert


----------



## Bjarne (28. Feb 2011)

Vielen Vielen Dank an XHelp!

Jetzt klappt mein Programm endlich (Erfolgserlebnis ;-) )

Bjarne


----------

