Nächste Seite: Focus Listener
Aufwärts: Die Listener
Vorherige Seite: Mouse Listener
  Inhalt
Key Listener
Ein Keylistener überwacht die Tastatur auf eine Eingabe durch den Benutzer.
Wiederum kann an jedes graphische Objekt ein Keylistener gebunden werden, der
dann einen Event meldet, wenn innerhalb dieses Objektes eine Taste gedrückt
wird. Über zwei weitere Funktionen kann dann der Keycode der Taste oder der
entsprechende ASCII Code abgefragt werden. Das folgende Beispiel
demonstriert die Funktionsweise:
/* Example keylistener.c */
:
keylst=j_keylistener(frame);
while((obj=j_nextaction())!=frame)
{
if(obj == keylst)
{
sprintf(str,"Keycode:%d Ascii:%d Char:%c",
j_getkeycode(keylst),
j_getkeychar(keylst),
(char)j_getkeychar(keylst));
j_settext(frame,str);
}
}
:
Zunächst wird mit der Funktion:
keylst=j_keylistener(frame);
ein Keylistener erzeugt, und an den Frame gebunden. Wird nun innerhalb des
Frames eine Taste gedrückt, so meldet der Keylistener einen Event. Mit den
beiden Funktionen:
j_getkeycode(keylst)
j_getkeychar(keylst)
kann jederzeit die letzte gedrückte Taste abgefragt werden. Während
j_keychar() den ASCII Code zurückliefert, kann mit der Funktion
j_keycode() der Tastaurcode einer Taste abgefragt werden. So können auch
ASCII-lose Tasten wie Funktionstasten und Sondertasten ermittelt
werden4.1.
Abbildung:
Beispielprogramm für einen
Keylistener. Jede gedrückte Taste wird in der Kopfzeile der Applikation vermerkt.
Es erfolgt die Ausgabe des Tastaturcodes und des ASCII Codes der Taste. Im Beispiel
nach dem Drücken der Taste ''g''.
|
Nächste Seite: Focus Listener
Aufwärts: Die Listener
Vorherige Seite: Mouse Listener
  Inhalt
Merten Joost
2003-02-26