Holger's
Java API

com.antelmann.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 com.antelmann.util.gui.JMainFrame
                          extended by com.antelmann.game.JGameFrame
All Implemented Interfaces:
GameGUI, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class JGameFrame
extends JMainFrame
implements 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.

Author:
Holger Antelmann
See Also:
JGamePlay, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 JCheckBoxMenuItem autoAdvance
           
 JCheckBoxMenuItem console
           
 JCheckBoxMenuItem showWatch
           
 
Fields inherited from class com.antelmann.util.gui.JMainFrame
hasStatusBar, logger, 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(ActionEvent e)
          actionPerformed listens to all the user events happening within the GUI
 void drawAllWindows()
          redraws all windows with their appropriate initial size
 Frame getFrame()
          returns the root container itself
 JGamePlay getJGamePlay()
          returns the embedded JGamePlay object
 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(String[] args)
          starts a game after selecting the game type through a GUI
 void repaint()
          overridden to update all component windows with updated game info
 boolean requestGUIMove(GameMove move)
          requestGUIMove() is called when a JGamePlay container registered a move to be made throug the GUI; this move is then passed to the game playing frame through this method - allowing the main frame to decide what is to be done
 boolean requestGUIRedoMove()
          requestGUIRedoMove() is when a GUI component requested to redo a move
 boolean requestGUIUndoMove()
          requestGUIRedoMove() is when a GUI component requested to undo a move
 void setAutoAdvance(boolean on)
          sets the 'Auto advance' option that can also be set through the menu
 void setInitialDirectory(String directoryLocation)
          presets the directory for the file selection
 
Methods inherited from class com.antelmann.util.gui.JMainFrame
complain, getStatusText, hasStatusBar, say, updateStatusText
 
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, 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 com.antelmann.game.GameGUI
say
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

autoAdvance

public JCheckBoxMenuItem autoAdvance

showWatch

public JCheckBoxMenuItem showWatch

console

public JCheckBoxMenuItem console
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

Method Detail

main

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


drawAllWindows

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


repaint

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

Specified by:
repaint in interface GameGUI
Overrides:
repaint in class Component

actionPerformed

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

Specified by:
actionPerformed in interface ActionListener

setAutoAdvance

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


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


getFrame

public Frame getFrame()
Description copied from interface: GameGUI
returns the root container itself

Specified by:
getFrame in interface GameGUI

getJGamePlay

public JGamePlay getJGamePlay()
Description copied from interface: GameGUI
returns the embedded JGamePlay object

Specified by:
getJGamePlay in interface GameGUI

requestGUIUndoMove

public boolean requestGUIUndoMove()
Description copied from interface: GameGUI
requestGUIRedoMove() is when a GUI component requested to undo a move

Specified by:
requestGUIUndoMove in interface GameGUI

requestGUIRedoMove

public boolean requestGUIRedoMove()
Description copied from interface: GameGUI
requestGUIRedoMove() is when a GUI component requested to redo a move

Specified by:
requestGUIRedoMove in interface GameGUI

requestGUIMove

public boolean requestGUIMove(GameMove move)
Description copied from interface: GameGUI
requestGUIMove() is called when a JGamePlay container registered a move to be made throug the GUI; this move is then passed to the game playing frame through this method - allowing the main frame to decide what is to be done

Specified by:
requestGUIMove in interface GameGUI

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


setInitialDirectory

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



(c) 2001-2006 Holger Antelmann - all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads