org.jogre.awt
Class JogreTableFrame
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--java.awt.Window
|
+--java.awt.Frame
|
+--javax.swing.JFrame
|
+--org.jogre.awt.JogreTableFrame
- All Implemented Interfaces:
- Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants
- public abstract class JogreTableFrame
- extends JFrame
The important JogreTableFrame which is where each game is played. Each time
a new table is created one of these frames appear. This class creates the
buttons at the top of the screen, the player list at the bottom left and the
message chat box on the bottom right. The main game area is set in the sub
classes e.g. ChessTableFrame using the setGamePanel (JPanel) method.
To use this class a class must extend it e.g. ChesTableFrame. Its fields
must include a data model (JogreModel e.g. ChessModel), a view of the data
(JogreComponent e.g. ChessBoardComponent) and a controller (JogreController
e.g. ChessController) for understanding mouse movements etc on the view.
The constructor in the sub class should initialise these MVC fields and
MUST call the setMVC (model, view, controller) method as this class
makes use of these.
- Version:
- Alpha 0.1
- Author:
- Bob Marks
- See Also:
- Serialized Form
Fields inherited from class java.awt.Frame |
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, 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 |
Methods inherited from class javax.swing.JFrame |
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update |
Methods inherited from class java.awt.Frame |
addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle |
Methods inherited from class java.awt.Window |
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, show, toBack, toFront |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, 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, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus |
tableUpdateRefreshesModel
protected boolean tableUpdateRefreshesModel
- Boolean to indicate that a table update will refresh the model in that
particular table.
conn
protected ClientConnectionThread conn
tableNum
protected int tableNum
gameModel
protected JogreModel gameModel
gameController
protected JogreController gameController
gameMainView
protected JogreComponent gameMainView
sitButton
protected JButton sitButton
standButton
protected JButton standButton
startButton
protected JButton startButton
offerDrawButton
protected JButton offerDrawButton
resignButton
protected JButton resignButton
JogreTableFrame
public JogreTableFrame(ClientConnectionThread conn,
int tableNum)
- Constructor to a standard JogreGameFrame. NOTE: Every contructor of a
sub class of this must call the setMVC (model, view, controller) method.
- Parameters:
conn
- Client connection thread which holds the link to the
server, user and table lists.tableNum
- Table number.
setTableUpdateRefreshesModel
public void setTableUpdateRefreshesModel(boolean value)
This method sets a boolean, which if set to true will result in the
JogreModel refreshing its componets which are observing it everytime the
table object in ClientConnectionThread updates itself.
This only needs to be set if a visual component uses data from the
Table object (from TableList) in the ClientConnectionThread to show the
current player or the players name for example. The method
updateTable() makes use of this boolean.
- Parameters:
value
-
updateTable
public void updateTable()
- The table object has been updated.
leaveTable
public void leaveTable()
- Player leaves the table.
setGamePanel
public void setGamePanel(JPanel gamePanel)
- Set the empty panel in the screen equal to the game panel.
- Parameters:
gamePanel
-
addToTopPanel
public void addToTopPanel(Component component)
- Method to add additional components (such as buttons etc) to the top
right hand side of the screen.
- Parameters:
component
-
getController
public JogreController getController()
- Accessor for the game controller.
- Returns:
-
getModel
public JogreModel getModel()
- Accessor for the game controller.
- Returns:
-
startGame
public void startGame()
- Start the game.
getMessageComponent
public MessageComponent getMessageComponent()
- Accessor for the small message box with each table.
- Returns:
-
setupMVC
public void setupMVC(JogreModel model,
JogreComponent mainView,
JogreController controller)
- Sets up the MVC for this table. This method must be called from
the constructor of any sub class of this class as this class refers to
the JogreModel and JogreController.
- Parameters:
model
- mainView
- controller
-
receiveOfferDraw
public void receiveOfferDraw(CommOfferDraw offerDraw)
- Parameters:
offerDraw
-
gameOver
public void gameOver(CommGameOver commGameOver)
- Create game over.
- Parameters:
commGameOver
-