org.jscience.computing.game
Class JGameFrame

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 org.jscience.swing.JMainFrame
                          extended by org.jscience.computing.game.JGameFrame
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, GameGUI

public class JGameFrame
extends JMainFrame
implements java.awt.event.ActionListener, GameGUI

JGameFrame implements a generic GUI setup for a JGamePlay. It provides all the essentials for a GUI based game (like a legal move list, an undo list, a redo list, standard game functionality, etc.). The gameboard uses functionality of the JGamePlay to display game specific features.

See Also:
JGamePlay, 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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 javax.swing.JCheckBoxMenuItem autoAdvance
          DOCUMENT ME!
 javax.swing.JCheckBoxMenuItem console
          DOCUMENT ME!
 javax.swing.JCheckBoxMenuItem showWatch
          DOCUMENT ME!
 
Fields inherited from class org.jscience.swing.JMainFrame
hasStatusBar, statusBar, statusLabel, verbose
 
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
JGameFrame(GamePlay game)
          this constructor uses a standard JDefaultGame object to wrap the given game and then calls JGameFrame(JGamePlay jplay)
JGameFrame(JGamePlay jplay)
          The GUI application is directly started and made visible by calling the constructor
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          actionPerformed listens to all the user events happening within the GUI
 void drawAllWindows()
          redraws all windows with their appropriate initial size
 java.awt.Frame getFrame()
          DOCUMENT ME!
 JGamePlay getJGamePlay()
          DOCUMENT ME!
 boolean isBusy()
          if this function returns true, the JGameFrame is currently running some analysis, which suggests that other event listening components should not alter the game status at this time
 void load(AutoPlay play)
          enables to load an AutoPlay object after instanciation without going through the GUI; note that this is not a synchronized operation
static void main(java.lang.String[] args)
          starts a game after selecting the game type through a GUI
 void repaint()
          overwritten to update all component windows with updated game info
 boolean requestGUIMove(GameMove move)
          DOCUMENT ME!
 boolean requestGUIRedoMove()
          DOCUMENT ME!
 boolean requestGUIUndoMove()
          DOCUMENT ME!
 void setAutoAdvance(boolean on)
          sets the 'Auto advance' option that can also be set through the menu
 void setInitialDirectory(java.lang.String directoryLocation)
          presets the directory for the file selection
 
Methods inherited from class org.jscience.swing.JMainFrame
complain, getStatusText, hasStatusBar, say, updateStatusText
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, 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, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jscience.computing.game.GameGUI
say
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

autoAdvance

public javax.swing.JCheckBoxMenuItem autoAdvance
DOCUMENT ME!


showWatch

public javax.swing.JCheckBoxMenuItem showWatch
DOCUMENT ME!


console

public javax.swing.JCheckBoxMenuItem console
DOCUMENT ME!

Constructor Detail

JGameFrame

public JGameFrame(GamePlay game)
this constructor uses a standard JDefaultGame object to wrap the given game and then calls JGameFrame(JGamePlay jplay)

See Also:
JDefaultGame

JGameFrame

public JGameFrame(JGamePlay jplay)
The GUI application is directly started and made visible by calling the constructor

Parameters:
jplay - DOCUMENT ME!
Method Detail

main

public static void main(java.lang.String[] args)
starts a game after selecting the game type through a GUI

Parameters:
args - DOCUMENT ME!

drawAllWindows

public void drawAllWindows()
redraws all windows with their appropriate initial size


repaint

public void repaint()
overwritten to update all component windows with updated game info

Specified by:
repaint in interface GameGUI
Overrides:
repaint in class java.awt.Component

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed listens to all the user events happening within the GUI

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - DOCUMENT ME!

setAutoAdvance

public void setAutoAdvance(boolean on)
sets the 'Auto advance' option that can also be set through the menu

Parameters:
on - DOCUMENT ME!

load

public void load(AutoPlay play)
enables to load an AutoPlay object after instanciation without going through the GUI; note that this is not a synchronized operation

Parameters:
play - DOCUMENT ME!

getFrame

public java.awt.Frame getFrame()
DOCUMENT ME!

Specified by:
getFrame in interface GameGUI
Returns:
DOCUMENT ME!

getJGamePlay

public JGamePlay getJGamePlay()
DOCUMENT ME!

Specified by:
getJGamePlay in interface GameGUI
Returns:
DOCUMENT ME!

requestGUIUndoMove

public boolean requestGUIUndoMove()
DOCUMENT ME!

Specified by:
requestGUIUndoMove in interface GameGUI
Returns:
DOCUMENT ME!

requestGUIRedoMove

public boolean requestGUIRedoMove()
DOCUMENT ME!

Specified by:
requestGUIRedoMove in interface GameGUI
Returns:
DOCUMENT ME!

requestGUIMove

public boolean requestGUIMove(GameMove move)
DOCUMENT ME!

Specified by:
requestGUIMove in interface GameGUI
Parameters:
move - DOCUMENT ME!
Returns:
DOCUMENT ME!

isBusy

public boolean isBusy()
if this function returns true, the JGameFrame is currently running some analysis, which suggests that other event listening components should not alter the game status at this time

Returns:
DOCUMENT ME!

setInitialDirectory

public void setInitialDirectory(java.lang.String directoryLocation)
presets the directory for the file selection

Parameters:
directoryLocation - DOCUMENT ME!