Class TicTacToeGUI

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--edu.kzoo.grid.gui.GridAppFrame
                                      |
                                      +--TicTacToeGUI
All Implemented Interfaces:
javax.accessibility.Accessible, edu.kzoo.grid.display.GridDisplay, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class TicTacToeGUI
extends edu.kzoo.grid.gui.GridAppFrame

Tic-Tac-Toe Game:
An TicTacToeGUI object represents a window with control buttons and a display for tic-tac-toe game. Most of the functionality is provided in the GridAppFrame superclass.

Version:
18 May 2004
Author:
Alyce Brady
See Also:
Serialized Form

Field Summary
 
Fields inherited from class edu.kzoo.grid.gui.GridAppFrame
DEFAULT_INITIAL_DELAY, DEFAULT_MAX_DELAY_MSECS, DEFAULT_MIN_DELAY_MSECS
 
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
TicTacToeGUI(java.lang.String title, javax.swing.JMenu helpMenu, java.awt.Color usualBgColor, java.awt.Color whiteWonBgColor, java.awt.Color blackWonBgColor, int numRows, WhiteBlackGame game)
          Constructs a new TicTacToeGUI object.
 
Method Summary
 void notifyThatBlackWon()
          Notifies the players that black won.
 void notifyThatWhiteWon()
          Notifies the players that white won.
protected  void onMousePressOverDisplay(edu.kzoo.grid.Location loc)
          Handles a mouse press over the grid display.
 void restart()
          Starts or restarts the application.
 void setGrid(edu.kzoo.grid.Grid grid)
           
 
Methods inherited from class edu.kzoo.grid.gui.GridAppFrame
addGridChangeListener, constructDisplay, constructWindowContents, defineContent, getDelay, getDisplay, getGrid, getMouseListenerForDisplay, getResetButton, getSpeedSlider, includeMenu, includeSpeedSlider, includeSpeedSlider, includeSpeedSlider, includeStartRestart, makeControlPanel, makeControlPanelInterior, makeDisplayPanel, makeSliderPanel, notifyGridChangeListeners, setDelay, showGrid
 
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, 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, setIconImage, 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, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, 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, 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, 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, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, 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
 

Constructor Detail

TicTacToeGUI

public TicTacToeGUI(java.lang.String title,
                    javax.swing.JMenu helpMenu,
                    java.awt.Color usualBgColor,
                    java.awt.Color whiteWonBgColor,
                    java.awt.Color blackWonBgColor,
                    int numRows,
                    WhiteBlackGame game)
Constructs a new TicTacToeGUI object.

Parameters:
title - window title
helpMenu - Help menu
usualBgColor - grid background color during game
whiteWonBgColor - bg color if white wins
blackWonBgColor - bg color if black wins
numRows - number of rows (and columns) in the grid
game - object that controls the game
Method Detail

setGrid

public void setGrid(edu.kzoo.grid.Grid grid)
Specified by:
setGrid in interface edu.kzoo.grid.display.GridDisplay
Overrides:
setGrid in class edu.kzoo.grid.gui.GridAppFrame

restart

public void restart()
Starts or restarts the application.

Overrides:
restart in class edu.kzoo.grid.gui.GridAppFrame

onMousePressOverDisplay

protected void onMousePressOverDisplay(edu.kzoo.grid.Location loc)
Handles a mouse press over the grid display.

Overrides:
onMousePressOverDisplay in class edu.kzoo.grid.gui.GridAppFrame

notifyThatWhiteWon

public void notifyThatWhiteWon()
Notifies the players that white won. Alters the background color of the grid and prints a message to the console.


notifyThatBlackWon

public void notifyThatBlackWon()
Notifies the players that black won. Alters the background color of the grid and prints a message to the console.