gizmoball.gui
Class MagicKeyListener
java.lang.Object
gizmoball.gui.MagicKeyListener
- All Implemented Interfaces:
- java.awt.event.KeyListener, java.util.EventListener
public class MagicKeyListener
- extends java.lang.Object
- implements java.awt.event.KeyListener
A MagicKeyListener is decorator for a KeyListener.
This class adds three pieces of functionality. First, it delays
key events (moving them to the back of the event queue). Second,
it maintains state so that when a press-and-release event pair is
sitting in the queue, neither event is propogated to the adaptee
(decoratee). Finally, it can (optionally) add to the semantics so
that any release event implies that any still-pressed keys have
also been released.
Together, these additions may provide more meaningful semantics
of key listening in an environment where a key being held down
generates repeated key events, or where multiple keys pressed
generate a release event for only one of them.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MagicKeyListener
public MagicKeyListener(java.awt.event.KeyListener adaptee)
MagicKeyListener
public MagicKeyListener(java.awt.event.KeyListener adaptee,
boolean assumeAllReleased)
- Parameters:
assumeAllReleased - enables the third option listed in the
class overview, namely that any key release event implies that
all keys have been released.
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)
- Specified by:
keyPressed in interface java.awt.event.KeyListener
keyReleased
public void keyReleased(java.awt.event.KeyEvent e)
- Specified by:
keyReleased in interface java.awt.event.KeyListener
keyTyped
public void keyTyped(java.awt.event.KeyEvent e)
- Specified by:
keyTyped in interface java.awt.event.KeyListener