# Login programmieren



## JFun (12. Okt 2005)

Hallo, hat jemand eine Idee wie man eine Logik für den  Login   am besten programmiert, so das nach eine Eingabe von richtigen Daten weitere Fenster erscheinen, dabei soll es möglichst  von main Methode  startbar sein ?

Danke im voraus

Mit freudlichen Grüssen

JFun


----------



## bygones (12. Okt 2005)

einen Dialog nehmen - Eingabe überprüfen und dann wenns richtig ist Frame(s) öffnen  ???:L


----------



## norman (13. Okt 2005)

```
class Aktionen extends MainClass implements ActionListener, KeyListener{
	
	JTextField name = new JTextField(15);
	JPasswordField pass = new JPasswordField(15);
	JButton button	= new JButton("LogIn");
	JFrame li_f 	= new JFrame("LogIn");
	JLabel l_name   = new JLabel("Name:        ");
	JLabel l_pass	= new JLabel("Passwort: ");
	
	public void actionPerformed(ActionEvent evt) { 			/* Klick auf LogIn-Button */
		boolean angaben_korrekt;
		MainClass.username 	  = name.getText();
		MainClass.passwort 	  = String.valueOf(pass.getPassword());	
		
		try {
			// DriverManager.getConnection(MainClass.url,MainClass.username,MainClass.passwort);
                        // hier muss natürlich etwas eigenes hin -> was eben mit den logIn daten gemacht werden soll
			angaben_korrekt=true;
		}
		catch (Exception e) {
			angaben_korrekt=false;
			System.out.println("Anmeldung gescheitert.\nBitte überprüfen Sie Ihre Angaben.\n");
		}
		
		if (angaben_korrekt) {
			li_f.dispose();
			MainClass.rest(); // in rest() wird dann ein neues fenster aufgerufen usw..
		}
		/* else warte auf änderung der eingaben und RETURN bzw. Klick auf LogIn */
	}
	
	public void keyPressed(KeyEvent e) {	/* zum Einbinden der RETURN-Taste */
		int code = e.getKeyCode();
		if (code==10)  				
			actionPerformed(null);
	}
	public void keyReleased(KeyEvent e) {	}
	public void keyTyped(KeyEvent e) {	}
	
	void logIn() {
		Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
		li_f.setSize(300,200);
		li_f.setLocation(screenDim.width/2-150, screenDim.height/2-100);
		li_f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		li_f.getContentPane().setLayout(new FlowLayout());
		li_f.getContentPane().add(l_name);	li_f.getContentPane().add(name);
		li_f.getContentPane().add(l_pass);	li_f.getContentPane().add(pass);	pass.addKeyListener(this);
		li_f.getContentPane().add(button);	button.addActionListener(this);
		li_f.setVisible(true);		
	}//logIn
```

( btw: warum ist hier im forum der code eitgl. immer so schief? )


----------



## norman (13. Okt 2005)

ach ja .. ist es eigentlich eine ungünstige lösung, in keyPressed() actionPerformed(null) aufzurufen?


----------



## bygones (13. Okt 2005)

> ( btw: warum ist hier im forum der code eitgl. immer so schief? )


hä ? knick in der opik... wo ist was schief ?

der code ist meiner Ansicht nach nicht wirklich schön... 

warum extends MainClass ? und dann statische aufrufe ala MainClass.reset() - der direkte Aufruf von actionPerformed (warum nicht einfach einen Button hinzufügen der bestätigt werden muss)


----------



## norman (13. Okt 2005)

jap. ich hab beidseitig -5,5 dioptren ;-)

extends MainClass ist wirklich überflüssig - danke )

naja..es gibt doch einen Button um die eingaben quasi abzuschicken. nur zusätzlich eben die möglichkeit das ganze auch mit enter zu beenden 
-> daher verschiedene Listener, die aber das gleiche machen sollen 
-> daher verweis vom einen in den anderen
ich frage mich nur, ob es nicht besser wäre den code in diesem falle doppelt zu schreiben bzw ob es durch aufrufe wie actionPerformed(null) zu konflikten kommen kann ?


----------

