AWTEventListener - Taste gedrückt oder los gelassen?

El Jay

Mitglied
Hiho,

Mal ne kurze Frage. Ich hab eine Klasse die das Interface AWTEventListener implementiert.

Java:
public void eventDispatched(AWTEvent arg0)
{
	if (arg0 instanceof KeyEvent)
	{
		KeyEvent event = (KeyEvent) arg0;

		switch (event.getKeyCode())
		{
		   …
		   …
		}
	}
}

Den Listener häng ich wie folgt ein, Um egal welche Komponente den Fokus hat mein Listener benachrichtigt wird.

Java:
Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);

Mein Problem ist, dass ich jetzt nicht mehr unterscheiden kann ob die Taste gedrückt oder los gelassen wurde.

Komm ich an die Information so irgend wie noch rann oder muss ich die Sache aderst angehen? Die Lösung hab ich durch googen bekommen…kann ja sein es gibt was eleganteres :)


Danke, Grüßle,
El Jay
 

nickname

Bekanntes Mitglied
hi,

es gibt noch diese Methoden
1. keyTyped(KeyEvent ke)
2. keyReleased(KeyEvent ke)
3. keyPressed(KeyEvent ke)

2 und 3 werden immer aufgerufen (Funktionstasten und Zeichentasten). 1 wird aufgerufen, wenn eine Zeichentaste gedrückt wurde.

Musst bedenken, wenn du z.B. alt+s drückst werden 2 und 3 zweimal aufgerufen.

gruß nickname
 

El Jay

Mitglied
Ahh…sorry Leute das kommt wenn man die API Spezifikaton nicht richtig ließt :oops:

Lösung:

Java:
public void eventDispatched(AWTEvent arg0)
{
	if (arg0 instanceof KeyEvent)
	{
		KeyEvent event = (KeyEvent) arg0;

		if (event.getID() == KeyEvent.KEY_RELEASED)
		{
			switch (event.getKeyCode())
			{
			  …
			  …
			}
		}
	}
}


Tja tut mir leid für den Schnellschuss. Auf die Zeile hätte ich selbst kommen müssen. :oops:
Manchmal sieht man den Wald vor lauter Bäumen nicht :D

Java:
if (event.getID() == KeyEvent.KEY_RELEASED)

-------------------------

Und ja nickname, mit den Methoden hast schon recht aber die gibts nur bei einem KeyListener aber hier handelt es sich um einen AWTEventListener. Aber dennoch danke für die Info :)


Gruß,
El Jay
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
B Button soll sowohl auf Klicken als auch auf die Enter-Taste reagieren Java Basics - Anfänger-Themen 9
S Ergebnisse zwischenspeichern (Analog zu ans-Taste bei Taschenrechnern) Java Basics - Anfänger-Themen 3
D Wie frage ich ab ob die Linke maus Taste gedrückt wurde? Java Basics - Anfänger-Themen 3
Xentox501 keyevent.VK_LEFT wird beim drücken jeder belibigen Taste aktiv. Java Basics - Anfänger-Themen 3
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
B Taste "Enter" drücken in einem anderen Programm? Java Basics - Anfänger-Themen 6
R Input/Output Tastenschläge einer Taste zählen Java Basics - Anfänger-Themen 14
H Methoden Implementieren "Drücken Sie eine beliebige Taste" Java Basics - Anfänger-Themen 5
T MouseListener, recht Taste Java Basics - Anfänger-Themen 2
T JFrame per Taste schließen Java Basics - Anfänger-Themen 15
W Befehl ausführen bei Mausklick + gedrückte Strg-Taste Java Basics - Anfänger-Themen 2
E Taste zwischenspeichern? Java Basics - Anfänger-Themen 4
Zettelkasten Tabulator-Taste? Java Basics - Anfänger-Themen 2
B 2 Textfelder Enter Taste Java Basics - Anfänger-Themen 3
F Applet mit KeyListener, "Alt"-Taste und Konflikt mit Browser Java Basics - Anfänger-Themen 2
J Escape taste geht ohne cursor im textfeld nicht. Java Basics - Anfänger-Themen 4
P "Enter"-Taste mit Button verknüpfen Java Basics - Anfänger-Themen 3
D KeyEvent Taste blockieren. Java Basics - Anfänger-Themen 2
R Taste gedrückt = Grafik zeichen ?!? Java Basics - Anfänger-Themen 8
E Mit Taste Methode aufrufen Java Basics - Anfänger-Themen 7
C Konsolenanwendung auf belibige Taste warten Java Basics - Anfänger-Themen 2
D Erstellte Textfelder in Applet mit Tab - Taste anspringen Java Basics - Anfänger-Themen 3
M MenuShortcut nur mittels Shift+Taste Java Basics - Anfänger-Themen 3
G Enter Taste abfangen Java Basics - Anfänger-Themen 11
G KeyListener für die Taste "/" Java Basics - Anfänger-Themen 5
F while mit Enter-Taste abbrechen Java Basics - Anfänger-Themen 13
G Leertaste bei Button auf Enter Taste ändern? Java Basics - Anfänger-Themen 6
C Einloggen auch per ENTER Taste (KeyListener Problem) Java Basics - Anfänger-Themen 8
C Erkennen einer gedrückten Taste Java Basics - Anfänger-Themen 6
V Mausklick mit rechter Taste abfangen? Java Basics - Anfänger-Themen 8
P JOptionPane und Tab-Taste Java Basics - Anfänger-Themen 4
S wie bastelt man eine pause-taste Java Basics - Anfänger-Themen 5
A JOPtionPaneOptionDialog Abfrage welcher Button gedrückt wurde? Java Basics - Anfänger-Themen 8
Tacofan Welcher Button wurde zuerst gedrückt? Java Basics - Anfänger-Themen 4
V wie kann ich eine Schleife pausieren, bis ein Jbutton gedrückt wird ? Java Basics - Anfänger-Themen 17
S Methode pausieren bis Button gedrückt wird Java Basics - Anfänger-Themen 5
B Methode warten lassen bis Button gedrückt wird Java Basics - Anfänger-Themen 16
K JTextField auslesen, wenn Enter gedrückt.. Java Basics - Anfänger-Themen 13
G Button schonmal gedrückt ? Java Basics - Anfänger-Themen 6
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
G reagieren wenn Ja gedrückt wird Java Basics - Anfänger-Themen 2
N Wenn minimiert gedrückt schließen Java Basics - Anfänger-Themen 11
L Beim ausführen bleibt der Button gedrückt . Java Basics - Anfänger-Themen 35
G Button schon gedrückt wenn "mouseOver" Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben