theater
Class KeyInfo

java.lang.Object
  extended by java.util.EventObject
      extended by java.awt.AWTEvent
          extended by java.awt.event.ComponentEvent
              extended by java.awt.event.InputEvent
                  extended by java.awt.event.KeyEvent
                      extended by theater.KeyInfo
All Implemented Interfaces:
Serializable

public class KeyInfo
extends KeyEvent

Sowohl die Klasse Stage als auch die Klasse Component definieren die von der Java-GUI-Programmierung bekannten Methoden zur Verarbeitung von Tastatur-Events: keyTyped, keyPressed und keyRealeased. Die Events entsprechen dabei den Events des Java-AWT in der Klasse java.awt.event.KeyListener. Den Methoden werden Objekte vom Typ KeyInfo übergeben, über die genauere Informationen über das entsprechende Event abgefragt werden können.

Die Klasse KeyInfo ist von der Klasse java.awt.event.KeyEvent abgeleitet, so dass auch alle deren Methoden benutzt werden können.

Version:
1.0 (12.11.2008)
Author:
Dietrich Boles, Universität Oldenburg, Germany
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.awt.event.KeyEvent
CHAR_UNDEFINED, KEY_FIRST, KEY_LAST, KEY_LOCATION_LEFT, KEY_LOCATION_NUMPAD, KEY_LOCATION_RIGHT, KEY_LOCATION_STANDARD, KEY_LOCATION_UNKNOWN, KEY_PRESSED, KEY_RELEASED, KEY_TYPED, VK_0, VK_1, VK_2, VK_3, VK_4, VK_5, VK_6, VK_7, VK_8, VK_9, VK_A, VK_ACCEPT, VK_ADD, VK_AGAIN, VK_ALL_CANDIDATES, VK_ALPHANUMERIC, VK_ALT, VK_ALT_GRAPH, VK_AMPERSAND, VK_ASTERISK, VK_AT, VK_B, VK_BACK_QUOTE, VK_BACK_SLASH, VK_BACK_SPACE, VK_BEGIN, VK_BRACELEFT, VK_BRACERIGHT, VK_C, VK_CANCEL, VK_CAPS_LOCK, VK_CIRCUMFLEX, VK_CLEAR, VK_CLOSE_BRACKET, VK_CODE_INPUT, VK_COLON, VK_COMMA, VK_COMPOSE, VK_CONTEXT_MENU, VK_CONTROL, VK_CONVERT, VK_COPY, VK_CUT, VK_D, VK_DEAD_ABOVEDOT, VK_DEAD_ABOVERING, VK_DEAD_ACUTE, VK_DEAD_BREVE, VK_DEAD_CARON, VK_DEAD_CEDILLA, VK_DEAD_CIRCUMFLEX, VK_DEAD_DIAERESIS, VK_DEAD_DOUBLEACUTE, VK_DEAD_GRAVE, VK_DEAD_IOTA, VK_DEAD_MACRON, VK_DEAD_OGONEK, VK_DEAD_SEMIVOICED_SOUND, VK_DEAD_TILDE, VK_DEAD_VOICED_SOUND, VK_DECIMAL, VK_DELETE, VK_DIVIDE, VK_DOLLAR, VK_DOWN, VK_E, VK_END, VK_ENTER, VK_EQUALS, VK_ESCAPE, VK_EURO_SIGN, VK_EXCLAMATION_MARK, VK_F, VK_F1, VK_F10, VK_F11, VK_F12, VK_F13, VK_F14, VK_F15, VK_F16, VK_F17, VK_F18, VK_F19, VK_F2, VK_F20, VK_F21, VK_F22, VK_F23, VK_F24, VK_F3, VK_F4, VK_F5, VK_F6, VK_F7, VK_F8, VK_F9, VK_FINAL, VK_FIND, VK_FULL_WIDTH, VK_G, VK_GREATER, VK_H, VK_HALF_WIDTH, VK_HELP, VK_HIRAGANA, VK_HOME, VK_I, VK_INPUT_METHOD_ON_OFF, VK_INSERT, VK_INVERTED_EXCLAMATION_MARK, VK_J, VK_JAPANESE_HIRAGANA, VK_JAPANESE_KATAKANA, VK_JAPANESE_ROMAN, VK_K, VK_KANA, VK_KANA_LOCK, VK_KANJI, VK_KATAKANA, VK_KP_DOWN, VK_KP_LEFT, VK_KP_RIGHT, VK_KP_UP, VK_L, VK_LEFT, VK_LEFT_PARENTHESIS, VK_LESS, VK_M, VK_META, VK_MINUS, VK_MODECHANGE, VK_MULTIPLY, VK_N, VK_NONCONVERT, VK_NUM_LOCK, VK_NUMBER_SIGN, VK_NUMPAD0, VK_NUMPAD1, VK_NUMPAD2, VK_NUMPAD3, VK_NUMPAD4, VK_NUMPAD5, VK_NUMPAD6, VK_NUMPAD7, VK_NUMPAD8, VK_NUMPAD9, VK_O, VK_OPEN_BRACKET, VK_P, VK_PAGE_DOWN, VK_PAGE_UP, VK_PASTE, VK_PAUSE, VK_PERIOD, VK_PLUS, VK_PREVIOUS_CANDIDATE, VK_PRINTSCREEN, VK_PROPS, VK_Q, VK_QUOTE, VK_QUOTEDBL, VK_R, VK_RIGHT, VK_RIGHT_PARENTHESIS, VK_ROMAN_CHARACTERS, VK_S, VK_SCROLL_LOCK, VK_SEMICOLON, VK_SEPARATER, VK_SEPARATOR, VK_SHIFT, VK_SLASH, VK_SPACE, VK_STOP, VK_SUBTRACT, VK_T, VK_TAB, VK_U, VK_UNDEFINED, VK_UNDERSCORE, VK_UNDO, VK_UP, VK_V, VK_W, VK_WINDOWS, VK_X, VK_Y, VK_Z
 
Fields inherited from class java.awt.event.InputEvent
ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK
 
Fields inherited from class java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
 
Fields inherited from class java.awt.AWTEvent
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
 
Fields inherited from class java.util.EventObject
source
 
Constructor Summary
KeyInfo(KeyEvent e)
          Konstruktor zur Initialisierung eines KeyInfo-Objektes mit einem KeyEvent-Objekt.
 
Method Summary
 Component getComponents()
          Überschreibt die geerbte Methode und liefert im Falle eines Aufrufs eine RuntimeException, da ein Zugriff auf die Theater-interne Java-AWT-Komponente nicht erlaubt ist.
 Object getSource()
          Überschreibt die geerbte Methode und liefert das aktuelle Stage-Objekt.
 Object getUserObject()
          Tritt ein Tastatur-Event ein, so werden alle Komponenten und die Bühne darüber informiert, insofern sie eine entsprechenden Handler-Methode definiert und die Tastatur-Event-Benachrichtigung aktiviert haben.
 void setUserObject(Object userObject)
          Tritt ein Tastatur-Event ein, so werden alle Komponenten und die Bühne darüber informiert, insofern sie eine entsprechenden Handler-Methode definiert und die Tastatur-Event-Benachrichtigung aktiviert haben.
 
Methods inherited from class java.awt.event.KeyEvent
getKeyChar, getKeyCode, getKeyLocation, getKeyModifiersText, getKeyText, isActionKey, paramString, setKeyChar, setKeyCode, setModifiers
 
Methods inherited from class java.awt.event.InputEvent
consume, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
 
Methods inherited from class java.awt.event.ComponentEvent
getComponent
 
Methods inherited from class java.awt.AWTEvent
getID, setSource, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KeyInfo

public KeyInfo(KeyEvent e)
Konstruktor zur Initialisierung eines KeyInfo-Objektes mit einem KeyEvent-Objekt.

Der Konstruktor wird Theater-intern aufgerufen.

Parameters:
e - das eingetretene KeyEvent
Method Detail

getComponents

public Component getComponents()
                        throws RuntimeException
Überschreibt die geerbte Methode und liefert im Falle eines Aufrufs eine RuntimeException, da ein Zugriff auf die Theater-interne Java-AWT-Komponente nicht erlaubt ist.

Returns:
wirft immer eine RuntimeException
Throws:
RuntimeException - wird bei jedem Aufruf der Methode geworfen
See Also:
ComponentEvent.getComponent()

getSource

public Object getSource()
Überschreibt die geerbte Methode und liefert das aktuelle Stage-Objekt.

Overrides:
getSource in class EventObject
Returns:
das aktuelle Stage-Objekt
See Also:
EventObject.getSource()

getUserObject

public Object getUserObject()
Tritt ein Tastatur-Event ein, so werden alle Komponenten und die Bühne darüber informiert, insofern sie eine entsprechenden Handler-Methode definiert und die Tastatur-Event-Benachrichtigung aktiviert haben. Für die Reihenfolge der Benachrichtigung gilt: Je weiter das Objekt auf der Bühne im Vordergrund ist, desto eher wird es informiert. Die Bühne wird als letzte informiert. Das KeyInfo-Objekt, das dabei den Methoden übergeben wird, ist dabei immer das gleiche. Über die Methode setUserObject bekommen die Komponenten die Möglichkeit zu kommunizieren, indem sie dem KeyInfo-Objekt ein anwendungsspezifisches Objekt zuzuordnen, das später benachrichtigte Objekte über die Methode getUserObject abfragen können.

Returns:
das dem KeyInfo-Objekt mittels der Methode setUserObject zugeordnete Objekt oder null, falls kein Objekt zugeordnet wurde.

setUserObject

public void setUserObject(Object userObject)
Tritt ein Tastatur-Event ein, so werden alle Komponenten und die Bühne darüber informiert, insofern sie eine entsprechenden Handler-Methode definiert und die Tastatur-Event-Benachrichtigung aktiviert haben. Für die Reihenfolge der Benachrichtigung gilt: Je weiter das Objekt auf der Bühne im Vordergrund ist, desto eher wird es informiert. Die Bühne wird als letzte informiert. Das KeyInfo-Objekt, das dabei den Methoden übergeben wird, ist dabei immer das gleiche. Über die Methode setUserObject bekommen die Komponenten die Möglichkeit zu kommunizieren, indem sie dem KeyInfo-Objekt ein anwendungsspezifisches Objekt zuzuordnen, das später benachrichtigte Objekte über die Methode getUserObject abfragen können.

Parameters:
userObject - ein beliebiges anwendungsspezifisches Objekt