gishur.gui
Class DisplayManager

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--gishur.awt.GishurCanvas
                    |
                    +--gishur.gui.DisplayManager
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, ToolTip
Direct Known Subclasses:
ScrollDisplayManager

public class DisplayManager
extends GishurCanvas
implements ToolTip

Ein DisplayManager ist ein Canvas, auf dem graphische Objekte dargestellt werden können, deren Neuzeichnen automatisch erfolgt. Außerdem kann über einen DisplayManager die Eingabe von graphischen Objekten erfolgen. Der DisplayManager regelt das Neuzeichnen. Die Darstellung wird mittels Double Buffering flickerfrei. Ein DisplayManager verwaltet einen LayerManager für die Darstellung von graphischen Objekten und einen InputManager für die Eingabe. Alle Events, die am DisplayManager auftreten werden an den InputManager weitergegeben. Trotzdem können die üblichen Eventlistener an den DisplayManager angefügt werden. Außerdem verwaltet der DisplayManager einen VirtualScreen zur Vereinheitlichung verschiedener Koordinaten systeme. Alle ScreenTransformations in Layern dieses DisplayManagers sollten diesen VirtualScreen benutzen.

Version:
2.0
Author:
Thomas Wolf
See Also:
Serialized Form

Inner classes inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static byte PAINT
           
static byte REPAINT_ALL
           
static byte REPAINT_DISPLAYOBJECTS
           
static byte REPAINT_INPUTHANDLER
           
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DisplayManager(int no_layers)
          Konstruktor.
 
Method Summary
 void blockRepaint()
          Blockiert repaint-Aufrufe.
 void debug_paint()
           
 java.lang.String getStatusTip(int x, int y)
          Returns the StatusTip-text.
 java.lang.String getToolTip(int x, int y)
          Returns the ToolTip-text for this component.
 java.awt.Rectangle getViewPort()
          Liefert den sichtbaren Bereich.
 VirtualScreen getVirtualScreen()
          Liefert das aktuelle VirtualScreen-Objekt.
 java.awt.Dimension getVirtualScreenSize()
          Liefert die Dimension des Bildschirmobjektes.
 InputManager inputs()
          Liefert den InputManager des DisplayManagers.
 void invalidate()
           
 boolean isValid()
           
 LayerManager layers()
          Liefert den LayerManager des DisplayManagers.
 void paint(java.awt.Graphics g)
          paint() wird vom System aufgerufen, wenn die Componente neu gemalt werden muß.
protected  void processEvent(java.awt.AWTEvent e)
          Außer die EventListener zu benachrichtigen, wird noch die Eventverarbeitung des InputManagers aufgerufen.
 void repaint()
          Überschreibt Component.repaint.
 void repaint(byte mode)
          Repaint mit Setzen des Malmodus.
 void setBackground(java.awt.Image backgr, java.awt.Rectangle size)
          Setzt den Hintergrund auf das Bild backgr mit der Größe size.
 void setStatusTip(java.lang.String tip)
          Sets the StatusTip-text.
 void setToolTip(java.lang.String tip)
          Sets the ToolTip-text.
 void unblockRepaint()
          Hebt repaint-Blockierung auf und malt neu, falls während der Sperre repaint-Aufrufe erfolgten
 void update(java.awt.Graphics g)
          Update wird aufgerufen, wenn jemand repaint() aufgerufen hat.
 
Methods inherited from class gishur.awt.GishurCanvas
addObjectListener, dispatchEvent, processObjectEvent, removeObjectListener
 
Methods inherited from class java.awt.Canvas
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PAINT

public static final byte PAINT

REPAINT_ALL

public static final byte REPAINT_ALL

REPAINT_DISPLAYOBJECTS

public static final byte REPAINT_DISPLAYOBJECTS

REPAINT_INPUTHANDLER

public static final byte REPAINT_INPUTHANDLER
Constructor Detail

DisplayManager

public DisplayManager(int no_layers)
Konstruktor. Erzeugt auch einen LayerManager und einen InputManager.
Method Detail

layers

public LayerManager layers()
Liefert den LayerManager des DisplayManagers.
Returns:
LayerManager des DisplayManagers

inputs

public InputManager inputs()
Liefert den InputManager des DisplayManagers.
Returns:
InputManager des DisplayManagers

setBackground

public void setBackground(java.awt.Image backgr,
                          java.awt.Rectangle size)
Setzt den Hintergrund auf das Bild backgr mit der Größe size. Das Bild wird dazu verwendet, den Hintergrund zu kacheln.
Parameters:
backgr - Hintergrundbild
size - Kachelgröße

getVirtualScreen

public VirtualScreen getVirtualScreen()
Liefert das aktuelle VirtualScreen-Objekt.
Returns:
aktueller VirtualScreen

getVirtualScreenSize

public java.awt.Dimension getVirtualScreenSize()
Liefert die Dimension des Bildschirmobjektes.
Returns:
Dimension des Bildschirmes

getViewPort

public java.awt.Rectangle getViewPort()
Liefert den sichtbaren Bereich. Dies unterscheidet sich bei dieser Implementation noch nicht von der virtuellen Bildschirmgröße, kann aber später überschrieben werden.
Returns:
sichtbarer Bereich
See Also:
ScrollDisplayManager

repaint

public void repaint(byte mode)
Repaint mit Setzen des Malmodus.

repaint

public void repaint()
Überschreibt Component.repaint.
Overrides:
repaint in class java.awt.Component

blockRepaint

public void blockRepaint()
Blockiert repaint-Aufrufe.

unblockRepaint

public void unblockRepaint()
Hebt repaint-Blockierung auf und malt neu, falls während der Sperre repaint-Aufrufe erfolgten

update

public void update(java.awt.Graphics g)
Update wird aufgerufen, wenn jemand repaint() aufgerufen hat. Veraenderte Objekte werden neu gezeichnet.
Overrides:
update in class java.awt.Component

paint

public void paint(java.awt.Graphics g)
paint() wird vom System aufgerufen, wenn die Componente neu gemalt werden muß. Existiert ein Offscreen- Image, so wird ledeglich dieses neu gezeichnet. Wurde seit dem letzten mal Zeichnen invalidate() aufgerufen, so wird ein neues Offscreen-Image und dieses neu gezeichnet durch update().
Overrides:
paint in class java.awt.Canvas
Parameters:
g - Graphics
See Also:
update(java.awt.Graphics)

debug_paint

public void debug_paint()

invalidate

public void invalidate()
Overrides:
invalidate in class java.awt.Component

isValid

public boolean isValid()
Overrides:
isValid in class java.awt.Component

processEvent

protected void processEvent(java.awt.AWTEvent e)
Außer die EventListener zu benachrichtigen, wird noch die Eventverarbeitung des InputManagers aufgerufen.
Overrides:
processEvent in class GishurCanvas

getToolTip

public java.lang.String getToolTip(int x,
                                   int y)
Returns the ToolTip-text for this component. The ToolTip-text will be shown (using a ToolTipper) if the mouse rests over the object.
Specified by:
getToolTip in interface ToolTip
Parameters:
x,y - the position of the mouse in component coordinates
Returns:
ToolTip

getStatusTip

public java.lang.String getStatusTip(int x,
                                     int y)
Returns the StatusTip-text. This text will be shown in the applets (or browsers) statusbar.
Specified by:
getStatusTip in interface ToolTip
Parameters:
x,y - the position of the mouse in component coordinates
Returns:
StatusTip

setToolTip

public void setToolTip(java.lang.String tip)
Sets the ToolTip-text. The ToolTip-text will be shown (using a ToolTipper) if the mouse rests over the object.
Parameters:
tip - the ToolTip text

setStatusTip

public void setStatusTip(java.lang.String tip)
Sets the StatusTip-text. This text will be shown in the applets (or browsers) statusbar.
Parameters:
the - StatusTip text