KeyListener für VK_ENTER

so ... bei mir sieht das jetzt so aus und zwar hab ich im Konstuktor folgendes stehn:

Code:
		OK.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				//Benutzereingabe in den Variablen speichern
				Name = UserFeld.getText();
				Passw = PwFeld.getText();
				//Fenster ausschalten
				setVisible(false);
			}
		});

und egal ob diese KeyPressed ... :

Code:
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		if (e.getKeyCode() == KeyEvent.VK_ENTER) {
			OK.doClick();
		}
	}

... innerhalb oder außerhalb vom Kostruktor steht funktioniert es nicht :(
Das Problem ist eben auch dass ich das Programm von jemandem übernommen habe und verändern bzw. verbessern und erweitern soll.
 
1) Funktioniert es wenn du auf den OK-Button klickst?

2) Hast du den KeyListener deinen Textfeldern hinzugefügt?

3) Wenn es nicht zu lang ist, kannst du ja mal den gesamten betroffenen Code posten
 
Möglicherweise wird das KeyEvent von der actionPerformed "übergebügelt". Beachte, dass der ActionListener resp. actionPerformed tastaturseitig über ENTER ausgelöst wird und möglicherweise das KeyEvent "verschluckt".
 
Problem ist gelöst und ich habe das thema jetzt auch gerafft :)
der KeyListener und der ActionListener bzw. die Action Performed haben sich nicht so ganz vertragen *gg*

der code sieht jetzt so aus:
Im Kostruktor steht:
Code:
	//Aktion vom Ok-Button und vom Passwort-Textfeld abfangen
		PwFeld.addActionListener(this);
		OK.addActionListener(this);

und auserhalb als Methode:
Code:
	public void actionPerformed(ActionEvent e) {
		//Benutzereingabe in den Variablen speichern
		Name = UserFeld.getText();
		Passw = PwFeld.getText();
		//Fenster ausschalten
		setVisible(false);
	}

Vielen Dank für eure Hilfe!

Gruß
Lucien
 
Kleiner Tip am Rande:
Variablennamen beginnen gemäß Konventionen mit einem Kleinbuchstaben. Nur Klassennamen beginenn mit einem Großbuchstaben. Konstanten komplett in Großbuchstaben.
 
Zurück