org.jogre.client.awt
Class JogreClientPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.jogre.client.awt.JogreClientPanel
All Implemented Interfaces:
Accessible, IClient, ImageObserver, ITable, MenuContainer, Observer, Serializable

public class JogreClientPanel
extends JPanel
implements IClient, Observer

Jogre panel which exists in can be put within an applet frame or a application frame.

Version:
Alpha 0.2.3
Author:
Bob Marks, starsinthesky, Gman
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int FRAME_HEIGHT
           
static int FRAME_WIDTH
           
static int SPACING
           
 
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
JogreClientPanel(ClientConnectionThread conn, IJogreClientGUI jogreClientGui)
          Constructor for a client frame.
 
Method Summary
 void addListeners()
          Add listeners to the various buttons and lists
 void closeClient()
          Close the server back down again.
protected  ChatPrivateDialog getPrivateMessageComponent(String usernameTo)
          Returns a private message for a particular user and creates one if it doesn't already exist.
protected  JogreTableFrame getTableFrame(int tableNum)
          Overloaded version when you are sure that the table exists (other wise returns null).
protected  JogreTableFrame getTableFrame(Table table)
          Return the correct JogreTableFrame.
 void receiveDisconnect(CommDisconnect commDisconnect)
          Receive disconnect.
 void receiveGameChat(CommChatGame chatMessage)
          Method which receives a message from the server (or user)
 void receiveGameMessage(XMLElement message)
          Recieve a message specific to a particular game.
 void receiveInvite(CommInvite invite)
          Recieve invite communications object.
protected  void receiveMessage(XMLElement message)
          Adapter method for receiving a custom message.
 void receiveNewUser(User user)
          User has logged on so receive his User object.
 void receivePrivateChat(CommChatPrivate chatMessage)
          Receive private chat message.
 void receiveTableMessage(XMLElement message)
          Recieve a table message and delegate it to the correct frame.
 void setUpGUI()
          Sets up the graphical user interface.
 void update(Observable obs, Object obj)
          Update method on observer when the data changes.
 
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, paint, 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

FRAME_HEIGHT

public static final int FRAME_HEIGHT
See Also:
Constant Field Values

FRAME_WIDTH

public static final int FRAME_WIDTH
See Also:
Constant Field Values

SPACING

public static final int SPACING
See Also:
Constant Field Values
Constructor Detail

JogreClientPanel

public JogreClientPanel(ClientConnectionThread conn,
                        IJogreClientGUI jogreClientGui)
Constructor for a client frame.

Parameters:
conn - Connection to server.
jogreClientGui - Connection to frame / applet.
Method Detail

setUpGUI

public void setUpGUI()
Sets up the graphical user interface.


addListeners

public void addListeners()
Add listeners to the various buttons and lists


receiveGameMessage

public void receiveGameMessage(XMLElement message)
Description copied from interface: IClient
Recieve a message specific to a particular game.

Specified by:
receiveGameMessage in interface IClient
Parameters:
message - Game message from server
See Also:
IClient.receiveGameMessage(nanoxml.XMLElement)

receiveMessage

protected void receiveMessage(XMLElement message)
Adapter method for receiving a custom message.

See Also:
ITable.receiveTableMessage(nanoxml.XMLElement)

receiveTableMessage

public void receiveTableMessage(XMLElement message)
Recieve a table message and delegate it to the correct frame.

Specified by:
receiveTableMessage in interface ITable
Parameters:
message - Message from server.
See Also:
ITable.receiveTableMessage(nanoxml.XMLElement)

receiveNewUser

public void receiveNewUser(User user)
User has logged on so receive his User object.

Parameters:
user -

receiveDisconnect

public void receiveDisconnect(CommDisconnect commDisconnect)
Receive disconnect.

Parameters:
commDisconnect -

closeClient

public void closeClient()
Close the server back down again.


receiveGameChat

public void receiveGameChat(CommChatGame chatMessage)
Method which receives a message from the server (or user)

Parameters:
chatMessage - Chat message from user

receivePrivateChat

public void receivePrivateChat(CommChatPrivate chatMessage)
Receive private chat message.

Parameters:
chatMessage -

getTableFrame

protected JogreTableFrame getTableFrame(Table table)
Return the correct JogreTableFrame. This method also adds a listener so that when it closes down it does so cleanly.

Parameters:
table - Specified table.
Returns:
Return a JogreTableFrame which has been stored in cauche

getTableFrame

protected JogreTableFrame getTableFrame(int tableNum)
Overloaded version when you are sure that the table exists (other wise returns null).

Parameters:
tableNum - Specified table number.
Returns:
Correct JogreTableFrame e.g. ChessTableFrame

receiveInvite

public void receiveInvite(CommInvite invite)
Recieve invite communications object.

Parameters:
invite -

getPrivateMessageComponent

protected ChatPrivateDialog getPrivateMessageComponent(String usernameTo)
Returns a private message for a particular user and creates one if it doesn't already exist.

Parameters:
usernameTo - Username of person being chatted to.
Returns:
Return a chat message component.

update

public void update(Observable obs,
                   Object obj)
Update method on observer when the data changes. This updates the state of the buttons and opens / closes any game frames.

Specified by:
update in interface Observer
See Also:
Observer.update(java.util.Observable, java.lang.Object)