gishur.gui
Class InputManager

java.lang.Object
  |
  +--gishur.gui.PainterRegister
        |
        +--gishur.gui.InputManager

public class InputManager
extends PainterRegister

Ein InputManager dient zur Verwaltung von InputHandlern, die dazu benutzt werden, graphische Objekte einzugeben und zu manipulieren. Dabei können InputHandler selbst eine graphische Repräsentation haben.
Außerdem stellt ein InputHandler sicher, daß die Ereignisse in einer bestimmten Reihenfolge an die InputHandler geschickt werden; und zwar bekommt der erste eingefügte InputHandler auch als erster das Ereignis. InputHandler können jedes dem DisplayManager bekannte Listener-Interface implementieren (also auch ObjectListener). Beim Einfügen in den InputHandler werden auch die verschiedenen Listener registriert.

Version:
2.0
Author:
Thomas Wolf
See Also:
InputHandler

Constructor Summary
InputManager(DisplayManager parent)
          Konstruktor.
 
Method Summary
 void add(InputHandler hand)
          Fügt einen InputHandler hinzu.
 boolean contains(java.lang.Object O)
          Liefert true zurück, falls der InputHandler oder das verknüpfte Objekt O zum InputManager hinzugefügt wurde.
 InputHandler find(java.lang.Object O)
          Sucht den InputHandler eines verknüpften Objekts.
 InputHandler findInputHandlerClass(java.lang.Class C)
          Liefert den ersten InputHandler der Klasse C.
 InputHandler findInputHandlerClass(java.lang.Class C, int app)
          Liefert den app-ten InputHandler der Klasse C.
 void insert(InputHandler hand, InputHandler anchor)
          Fügt den InputHandler hand vor der dem InputHandler anchor ein.
 void insert(InputHandler hand, int i)
          Fügt den InputHandler hand vor der Position i ein.
 void paint(java.awt.Graphics g, java.awt.Rectangle size)
          Zeichnet alle InputHandler neu.
protected  void processEvent(java.awt.AWTEvent e)
          Eventverarbeitung.
 void register(Painter painter)
          Registriert ein Painter-Objekt.
 InputHandler remove(java.lang.Object O)
          Löscht das Objekt O vom InputManager.
 void repaint(java.awt.Graphics g, java.awt.Rectangle bounds)
          Zeichnet alle InputHandler im Bereich bounds neu.
 
Methods inherited from class gishur.gui.PainterRegister
clearRegister, getBounds
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InputManager

public InputManager(DisplayManager parent)
Konstruktor.
Parameters:
Maximale - Anzahl von InputHandlern
Method Detail

add

public void add(InputHandler hand)
Fügt einen InputHandler hinzu.
Parameters:
hand - neuer InputHandler

find

public InputHandler find(java.lang.Object O)
Sucht den InputHandler eines verknüpften Objekts.
Parameters:
O - zu suchendes Objekt
Returns:
zugehöriger InputHandler

contains

public boolean contains(java.lang.Object O)
Liefert true zurück, falls der InputHandler oder das verknüpfte Objekt O zum InputManager hinzugefügt wurde.
Parameters:
O - zu suchendes Objekt bzw. InputHandler
Returns:
true, falls O im InputManager

remove

public InputHandler remove(java.lang.Object O)
Löscht das Objekt O vom InputManager.
Parameters:
O - verknüpftes Objekt
Returns:
InputHandler von O

insert

public void insert(InputHandler hand,
                   InputHandler anchor)
Fügt den InputHandler hand vor der dem InputHandler anchor ein.
Parameters:
hand - neuer InputHandler
anchor - InputHandler, vor der eingefügt wird

insert

public void insert(InputHandler hand,
                   int i)
Fügt den InputHandler hand vor der Position i ein.
Parameters:
hand - neuer InputHandler
i - Stelle, vor der eingefügt wird

findInputHandlerClass

public InputHandler findInputHandlerClass(java.lang.Class C)
Liefert den ersten InputHandler der Klasse C.
Parameters:
C - Class-Objekt, das die gesuchte InputHandler-Klasse beschreibt
Returns:
erster InputHandler mit der Klasse C

findInputHandlerClass

public InputHandler findInputHandlerClass(java.lang.Class C,
                                          int app)
Liefert den app-ten InputHandler der Klasse C.
Parameters:
C - Class-Objekt, das die gesuchte InputHandler-Klasse beschreibt
app - Anzahl des Auftretens
Returns:
erster InputHandler mit der Klasse C

register

public void register(Painter painter)
Registriert ein Painter-Objekt.
Overrides:
register in class PainterRegister
Parameters:
zu - registrierendes Painter-Objekt

repaint

public void repaint(java.awt.Graphics g,
                    java.awt.Rectangle bounds)
Zeichnet alle InputHandler im Bereich bounds neu.

paint

public void paint(java.awt.Graphics g,
                  java.awt.Rectangle size)
Zeichnet alle InputHandler neu.

processEvent

protected void processEvent(java.awt.AWTEvent e)
Eventverarbeitung. Diese Methode sollte ausschließlich vom DisplayManager aufgerufen werden. Alle Events, die am DisplayManager auftreten, werden an diese Methode geliefert. Wie GishurCanvas.processEvent(), nur werden hier die Events in einer bestimmten Reihenfolge, nämlich die der InputHandler, an die entsprechenden InputHandler geliefert, die den zum Event passenden Event-Listener implementieren. Änderungen an der Liste der InputHandler (add() usw.) werden erst nach der vollständigen Abarbeitung aller Events wirksam.
Parameters:
e - Ereignis, das am DisplayManager ausgelöst wurde