ip4.ass4.client
Class TennisGUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by ip4.ass4.client.TennisGUI
All Implemented Interfaces:
TennisControllerListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class TennisGUI
extends javax.swing.JFrame
implements TennisControllerListener

Grafiskt användargränssnitt för tennisklienter av olika slag

Author:
Henrik Johansson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.util.Vector<TennisControllerListener> controllerListeners
          vektor med spelkontrollslyssnare
private  javax.swing.JPanel jContentPane
           
private  javax.swing.JLabel points
           
private  javax.swing.JPanel pointsPanel
           
private  TennisPanel tennisPanel
          själva spelplanen
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TennisGUI()
          This is the default constructor
 
Method Summary
 void addTennisControllerListener(TennisControllerListener listener)
          registrera en lyssnare som tar emot TennisControllerEvent när spelare flyttar sitt racket.
private  javax.swing.JPanel getJContentPane()
          This method initializes jContentPane
private  javax.swing.JPanel getPointsPanel()
          This method initializes pointsPanel
 int[] getTennisData()
           
private  TennisPanel getTennisPanel()
          This method initializes tennisPanel
private  void initialize()
          This method initializes this
static void main(java.lang.String[] args)
          endast för test av gui
 void removeTennisControllerListener(TennisControllerListener listener)
          avregistrera lyssnare så att den inte tar emot TennisControllerEvent längre.
 void setTennisData(int[] tennisdata)
          tar emot data om spelarnas positioner och poäng samt bollpositionen.
 void stop()
          anropas när matchen har avslutats.
 void tennisAction(TennisControllerEvent e)
          TennisGUI skickar vidare till sina registrerade TennisControllerListeners de TennisControllerEvents som den själv tar emot från tennisPanel.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

controllerListeners

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

See Also:
TennisControllerListener

jContentPane

private javax.swing.JPanel jContentPane

tennisPanel

private TennisPanel tennisPanel
själva spelplanen


points

private javax.swing.JLabel points

pointsPanel

private javax.swing.JPanel pointsPanel
Constructor Detail

TennisGUI

public TennisGUI()
This is the default constructor

Method Detail

addTennisControllerListener

public void addTennisControllerListener(TennisControllerListener listener)
registrera en lyssnare som tar emot TennisControllerEvent när spelare flyttar sitt racket. TennisGUI agerar bara mellanhand mellan lyssnaren och tennisPanel

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

removeTennisControllerListener

public void removeTennisControllerListener(TennisControllerListener listener)
avregistrera lyssnare så att den inte tar emot TennisControllerEvent längre. TennisGUI agerar bara mellanhand mellan lyssnaren och tennisPanel

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

setTennisData

public void setTennisData(int[] tennisdata)
tar emot data om spelarnas positioner och poäng samt bollpositionen. extraherar poängen och visar upp dem, samt skickar positionerna vidare till tennisPanel

Parameters:
tennisdata -
See Also:
tennisPanel

getTennisData

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

stop

public void stop()
anropas när matchen har avslutats. Vidarebefodras till tennisPanel

See Also:
tennisPanel

initialize

private void initialize()
This method initializes this


getJContentPane

private javax.swing.JPanel getJContentPane()
This method initializes jContentPane

Returns:
javax.swing.JPanel

getTennisPanel

private TennisPanel getTennisPanel()
This method initializes tennisPanel

Returns:
javax.swing.JPanel

getPointsPanel

private javax.swing.JPanel getPointsPanel()
This method initializes pointsPanel

Returns:
javax.swing.JPanel

tennisAction

public void tennisAction(TennisControllerEvent e)
TennisGUI skickar vidare till sina registrerade TennisControllerListeners de TennisControllerEvents som den själv tar emot från tennisPanel.

Specified by:
tennisAction in interface TennisControllerListener
Parameters:
e - händelseobjektet som beskriver racketrörelsen
See Also:
TennisControllerListener.tennisAction(ip4.ass4.client.TennisControllerEvent), tennisPanel

main

public static void main(java.lang.String[] args)
endast för test av gui

Parameters:
args - inga argument behandlas