zisko.multicastor.program.view
Class PanelGraph

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by zisko.multicastor.program.view.PanelGraph
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
ReceiverGraph

public class PanelGraph
extends javax.swing.JPanel

Zeichnet einen Grafen auf einer Flache mit einer Huehe von 100 Pixeln und einer variablen Breite. Der Graph selber ist 66 Pixel hoch (fest) und ebenfalls variabel breit (wird bei resize gestaucht). Mittels der Update-Funktion kann ein Funktionswert hinzugefuegt werden. Es werden die letzten 62 Werte (Die 60 Sekunden der Skala + Ursprung + einen Wert auueerhalb der Skala (uebergang zum rechten Rand)) in einem Array gespeichert. Sind 62 Werte erreicht, werden die ersten Werte wieder ueberschrieben usw.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 java.lang.Boolean runSnake
           
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
PanelGraph(int maxY, java.lang.String labelOfX, java.lang.String labelOfY, boolean staticScale)
          Einziger Konstruktor der Klasse
 
Method Summary
 int getMaxY()
          Getter fuer den maximalen Y-Wert der Skala
 java.awt.Dimension getPreferredSize()
          Gibt die aktuelle und damit bevorzugte Grueuee des Panels zurueck
 int moveSnake(SnakeGimmick.SNAKE_DIRECTION d)
          Bewegt die Snake in eine der 4 Himmelsrichtungen
 void moveSnakeAndUpdateView(SnakeGimmick.SNAKE_DIRECTION d)
          Macht dasselbe wie moveSnake, aber macht zusuetzlich ein viewUpdate
 void reloadLanguage()
           
 void reset()
          Initialisiert das data-Array, indem es jedem Feld Integer.MIN_VALUE zuweist.
 void resize(java.awt.Dimension newPZ)
          Resized das Panel und veranlasst ein repaint.
 void setLblX(java.lang.String lblX)
           
 void setLblY(java.lang.String lblY)
           
 void setMaxY(int maxY)
          Setter fuer den maximalen Y-Wert der Skala
 void snake(java.lang.Boolean active)
          Aktiviert oder deaktiviert das Snake-Gimmick.
 void updateGraph(int value, boolean repaint)
          Updated den Graphen mit einem neuen Wert.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

runSnake

public java.lang.Boolean runSnake
Constructor Detail

PanelGraph

public PanelGraph(int maxY,
                  java.lang.String labelOfX,
                  java.lang.String labelOfY,
                  boolean staticScale)
Einziger Konstruktor der Klasse

Parameters:
maxY - der huechst muegliche Y-Wert (int)
labelOfX - Beschriftung der X-Achse (String)
labelOfY - Beschriftung der Y-Achse (String)
staticScale - Bestimmt ob der huechstmuegliche Y-Wert automatisch angepasst werden soll (false) oder nicht (true)
Method Detail

getPreferredSize

public java.awt.Dimension getPreferredSize()
Gibt die aktuelle und damit bevorzugte Grueuee des Panels zurueck

Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
eine Dimension

resize

public void resize(java.awt.Dimension newPZ)
Resized das Panel und veranlasst ein repaint.

Overrides:
resize in class java.awt.Component
Parameters:
newPZ - die neue Dimension des Pannels

updateGraph

public void updateGraph(int value,
                        boolean repaint)
Updated den Graphen mit einem neuen Wert. Dabei wird "x" inkrementiert.

staticScale true:
- Funktionswerte > maxY (maximaler Y-Wert, bei Konstruktoraufruf anzugeben) werden maxY groue
- Funktionswerte < 0 werden 0

staticScale false: Skala wird ggf. angepasst. Dazu wird ein counter benutzt, um zu ueberpruefen, ob die Werte dauerhaft klein bleiben. Ist der Count bei einem gewissen Wert, wird die Skala wieder angepasst. MaxY sinkt nicht unter 10.
- value > maximaler Y-Wert: max. Y-Wert wird gleich value
- value > (3/4)*max. Y-Wert: counter==0
- value < (1/2)*max. Y-Wert: counter++

Parameters:
value - value der neue Y-Wert
repaint - bestimmt, ob ein Repaint des Panels erfolgt

moveSnakeAndUpdateView

public void moveSnakeAndUpdateView(SnakeGimmick.SNAKE_DIRECTION d)
Macht dasselbe wie moveSnake, aber macht zusuetzlich ein viewUpdate

Parameters:
d -

getMaxY

public int getMaxY()
Getter fuer den maximalen Y-Wert der Skala

Returns:
den maximalen Y-Wert

setMaxY

public void setMaxY(int maxY)
Setter fuer den maximalen Y-Wert der Skala

Parameters:
maxY - der neue maximale Y-Wert

snake

public void snake(java.lang.Boolean active)
Aktiviert oder deaktiviert das Snake-Gimmick.

Parameters:
active -

moveSnake

public int moveSnake(SnakeGimmick.SNAKE_DIRECTION d)
Bewegt die Snake in eine der 4 Himmelsrichtungen

Parameters:
d - die Richtung
Returns:
der Status der Snake
1: Apfel gefunden
0: nichts passiert
-1:Snake ist gecrashed

reset

public void reset()
Initialisiert das data-Array, indem es jedem Feld Integer.MIN_VALUE zuweist.


setLblX

public void setLblX(java.lang.String lblX)

setLblY

public void setLblY(java.lang.String lblY)

reloadLanguage

public void reloadLanguage()