ip4.ass4.client
Class TennisPanel

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 ip4.ass4.client.TennisPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class TennisPanel
extends javax.swing.JPanel

klass som målar upp en tennisplan samt bollen och de två spelarna i deras aktuella positioner.

Author:
Henrik Johansson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.awt.Color ballColor
          färg på bollen
private  java.util.Vector<TennisControllerListener> controllerListeners
          vektor med spelkontrollslyssnare
private  int[] oldtdata
          tdata innan förra uppdateringen
private  java.awt.Color playerColor
          färg på spelaren
private  int[] tdata
          data om spelar och bollpositioner s=spelare, b=boll, p=oäng [s1x,s1y,s2x,s2y,bx,by,s1p,s2p]
 
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.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
TennisPanel()
          This is the default constructor
 
Method Summary
 void addTennisControllerListener(TennisControllerListener listener)
          registrera en lyssnare som tar emot TennisControllerEvent när spelare flyttar sitt racket
 java.awt.Color getBallColor()
           
 java.awt.Color getPlayerColor()
           
 int[] getTennisData()
           
private  void initialize()
          initierar komponenten
private  boolean isTennisCode(int code)
           
protected  void paintComponent(java.awt.Graphics g)
          målar upp planen samt spelarna och bollen i sina aktuella positioner
 void removeTennisControllerListener(TennisControllerListener listener)
          avregistrera lyssnare så att den inte tar emot TennisControllerEvent längre
 void setBallColor(java.awt.Color ballColor)
          sätter färgen på bollen
 void setPlayerColor(java.awt.Color playerColor)
          sätter färgen på spelaren
 void setTennisData(int[] tennisdata)
          sätter information om bollens och pelarnas positioner, samt uppmanar komponentenatt måla om sig själv
 void stop()
          matchen har upphört, planen kommer att målas om med spelare och boll i sina ursprungspositioner
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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

tdata

private int[] tdata
data om spelar och bollpositioner s=spelare, b=boll, p=oäng

[s1x,s1y,s2x,s2y,bx,by,s1p,s2p]


oldtdata

private int[] oldtdata
tdata innan förra uppdateringen


playerColor

private java.awt.Color playerColor
färg på spelaren


ballColor

private java.awt.Color ballColor
färg på bollen


controllerListeners

private java.util.Vector<TennisControllerListener> controllerListeners
vektor med spelkontrollslyssnare

See Also:
TennisControllerListener
Constructor Detail

TennisPanel

public TennisPanel()
This is the default constructor

Method Detail

setTennisData

public void setTennisData(int[] tennisdata)
sätter information om bollens och pelarnas positioner, samt uppmanar komponentenatt måla om sig själv

Parameters:
tennisdata - bollens och spelarnas positioner

stop

public void stop()
matchen har upphört, planen kommer att målas om med spelare och boll i sina ursprungspositioner


getTennisData

public int[] getTennisData()
Returns:
tdata
See Also:
tdata

addTennisControllerListener

public void addTennisControllerListener(TennisControllerListener listener)
registrera en lyssnare som tar emot TennisControllerEvent när spelare flyttar sitt racket

Parameters:
listener - lyssnaren som skall registreras
See Also:
TennisControllerListener, TennisControllerEvent

removeTennisControllerListener

public void removeTennisControllerListener(TennisControllerListener listener)
avregistrera lyssnare så att den inte tar emot TennisControllerEvent längre

Parameters:
listener - lyssnaren som skall avregistreras
See Also:
TennisControllerListener, TennisControllerEvent

getPlayerColor

public java.awt.Color getPlayerColor()
Returns:
spelarfärgen

setPlayerColor

public void setPlayerColor(java.awt.Color playerColor)
sätter färgen på spelaren

Parameters:
playerColor - spelarfärgen

getBallColor

public java.awt.Color getBallColor()
Returns:
bollfrgen

setBallColor

public void setBallColor(java.awt.Color ballColor)
sätter färgen på bollen

Parameters:
ballColor - bollfärgen

paintComponent

protected void paintComponent(java.awt.Graphics g)
målar upp planen samt spelarna och bollen i sina aktuella positioner

Overrides:
paintComponent in class javax.swing.JComponent
See Also:
JComponent.paintComponent(java.awt.Graphics)

isTennisCode

private boolean isTennisCode(int code)

initialize

private void initialize()
initierar komponenten