org.dyndns.hentschel.openArena.views
Class PixelView

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--openArena.AbstractView
                                |
                                +--org.dyndns.hentschel.openArena.views.PixelView
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ComponentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.util.Observer, java.io.Serializable

public class PixelView
extends AbstractView
implements java.awt.event.ComponentListener

See Also:
Serialized Form

Field Summary
private  openArena.AbstractArena arena
          Die Arena mit der der View arbeitet
private  java.awt.image.BufferedImage bufi
          Was zeichnet der View
private  java.util.Map colors
          Farbmanagement
private  java.awt.Color[][] felder
          Die Farben der Felder
private  boolean firstupdate
          Ist der naechste Update der erste ueberhaupt oder der erste nach einer Pause
private  float hue
          Aktueller Farbwert fuer den naechsten Agenten
private static float HUE
          Farbverschiebungsfaktor zwischen den Agenten
private static float HUE_NAHRUNG
          Farbwert für Nahrung
private static float HUE_WAND
          Farbwert für Hindernisse
private  boolean redraw
          Soll der View komplett neugezeichnet werden
private  boolean show
          Wird der View angezeigt
private  java.awt.Dimension size
          Die Groesse des Views
 
Fields inherited from class javax.swing.JPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
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
PixelView()
          Erzeugt einen neuen View
 
Method Summary
 void componentHidden(java.awt.event.ComponentEvent e)
          Invoked when the component has been made invisible.
 void componentMoved(java.awt.event.ComponentEvent e)
          Invoked when the component's position changes.
 void componentResized(java.awt.event.ComponentEvent e)
          Invoked when the component's size changes.
 void componentShown(java.awt.event.ComponentEvent e)
          Invoked when the component has been made visible.
 void paint(java.awt.Graphics g)
          Zeichent den View
 void setArena(openArena.AbstractArena arena)
          Setzt die Arena mit der der View arbeiten soll
 void setColors(java.util.Map colors)
          Setzt das Farbmanagement der Agenten
 void update(java.util.Observable o, java.lang.Object arg)
          Wird von der Arena aufgerufen
 void updateDim(java.awt.Dimension dim)
          Ändert die Groesse der Arena
private  void updateFeld(java.awt.Graphics2D g2d, java.util.Collection list)
          Zeichent die in list angegebenen Aenderungen in den Grafikkontext g2d
 void updateFeld(openArena.werte.Vektor v)
          Passt den Inhalt eines Felder an
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HUE

private static final float HUE
Farbverschiebungsfaktor zwischen den Agenten

See Also:
Constant Field Values

felder

private java.awt.Color[][] felder
Die Farben der Felder


colors

private java.util.Map colors
Farbmanagement


arena

private openArena.AbstractArena arena
Die Arena mit der der View arbeitet


HUE_NAHRUNG

private static float HUE_NAHRUNG
Farbwert für Nahrung


HUE_WAND

private static float HUE_WAND
Farbwert für Hindernisse


show

private boolean show
Wird der View angezeigt


firstupdate

private boolean firstupdate
Ist der naechste Update der erste ueberhaupt oder der erste nach einer Pause


size

private java.awt.Dimension size
Die Groesse des Views


hue

private float hue
Aktueller Farbwert fuer den naechsten Agenten


bufi

private java.awt.image.BufferedImage bufi
Was zeichnet der View


redraw

private boolean redraw
Soll der View komplett neugezeichnet werden

Constructor Detail

PixelView

public PixelView()
Erzeugt einen neuen View

Method Detail

paint

public void paint(java.awt.Graphics g)
Zeichent den View

Overrides:
paint in class javax.swing.JComponent
See Also:
JComponent.paint

updateFeld

private void updateFeld(java.awt.Graphics2D g2d,
                        java.util.Collection list)
Zeichent die in list angegebenen Aenderungen in den Grafikkontext g2d

Parameters:
g2d - Der Grafikkontext
list - Die Liste der Aenderungen

updateDim

public void updateDim(java.awt.Dimension dim)
Ändert die Groesse der Arena

Parameters:
dim - Die neue Groesse der Arena

updateFeld

public void updateFeld(openArena.werte.Vektor v)
Passt den Inhalt eines Felder an

Parameters:
v - Vektor der die Position des Felder beschreibt

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Wird von der Arena aufgerufen

Specified by:
update in interface java.util.Observer
Specified by:
update in class AbstractView
Parameters:
o - Der Aufrufer der Methode
arg - Argumente

setColors

public void setColors(java.util.Map colors)
Setzt das Farbmanagement der Agenten

Specified by:
setColors in class AbstractView
Parameters:
colors -

setArena

public void setArena(openArena.AbstractArena arena)
Setzt die Arena mit der der View arbeiten soll

Specified by:
setArena in class AbstractView
Parameters:
arena -

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Invoked when the component has been made invisible.

Specified by:
componentHidden in interface java.awt.event.ComponentListener
See Also:
ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Invoked when the component's position changes.

Specified by:
componentMoved in interface java.awt.event.ComponentListener
See Also:
ComponentListener

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Invoked when the component's size changes.

Specified by:
componentResized in interface java.awt.event.ComponentListener
See Also:
ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Invoked when the component has been made visible.

Specified by:
componentShown in interface java.awt.event.ComponentListener
See Also:
ComponentListener