Class ArchSimGUI

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byedu.kzoo.grid.gui.GridAppFrame
                          extended byArchSimGUI
All Implemented Interfaces:
javax.accessibility.Accessible, edu.kzoo.grid.display.GridDisplay, java.awt.image.ImageObserver, edu.kzoo.grid.gui.nuggets.InitializationButton.Initializer, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class ArchSimGUI
extends edu.kzoo.grid.gui.GridAppFrame
implements edu.kzoo.grid.gui.nuggets.InitializationButton.Initializer

Archaeological Dig:
An ArchSimGUI object represents a window with control buttons and a display for an archaeological dig simulation. Most of the functionality is provided in the GridAppFrame superclass.

Version:
10 March 2005
Author:
Alyce Brady
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class edu.kzoo.grid.gui.GridAppFrame
edu.kzoo.grid.gui.GridAppFrame.DisplayMouseListener, edu.kzoo.grid.gui.GridAppFrame.GUIExceptionHandler
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class edu.kzoo.grid.gui.GridAppFrame
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
ArchSimGUI(java.lang.String title, javax.swing.JMenu helpMenu, java.awt.Color usualBgColor, java.awt.Color successBgColor, java.awt.Color failureBgColor, int numRows, ArchSimulation sim)
          Constructs a new ArchSimGUI object.
 
Method Summary
protected  edu.kzoo.grid.display.ScrollableGridDisplay constructDisplay(int viewingWidth, int viewingHeight, int minCellSize, java.awt.Color bgColor)
           
 void initialize()
          Starts or restarts the application.
 void notifyArtifactDamaged()
          Notifies the user that at least one artifact was damaged.
 void notifyDigSuccessfullyCompleted()
          Notifies the user that he or she completed the simulation successfully.
protected  void onMousePressOverDisplay(edu.kzoo.grid.Location loc)
           
 void setGrid(edu.kzoo.grid.Grid grid)
           
 
Methods inherited from class edu.kzoo.grid.gui.GridAppFrame
addGridChangeListener, componentRequiresGrid, componentsEnabledOnlyIfGridSet, componentsEnabledOnlyWhenRunning, componentsEnabledOnlyWhenWaiting, constructWindowContents, constructWindowContents, defineContent, enableAndDisable, enableOnlyIfGridSet, enableOnlyWhenRunning, enableOnlyWhenWaiting, enterNotRunningMode, enterRunningMode, getControlPanel, getDelay, getDisplay, getGrid, getMouseListenerForDisplay, getSpeedSlider, includeControlComponent, includeControlComponent, includeControlComponents, includeMenu, includeMenu, includeSpeedSlider, includeSpeedSlider, includeSpeedSlider, isInRunningMode, makeControlPanel, makeDisplayPanel, makeSliderPanel, notifyGridChangeListeners, resetDelay, setDelay, setEnabledStatus, 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

ArchSimGUI

public ArchSimGUI(java.lang.String title,
                  javax.swing.JMenu helpMenu,
                  java.awt.Color usualBgColor,
                  java.awt.Color successBgColor,
                  java.awt.Color failureBgColor,
                  int numRows,
                  ArchSimulation sim)
Constructs a new ArchSimGUI object.

Parameters:
title - window title
helpMenu - Help menu
usualBgColor - grid background color during simulation
successBgColor - bg color if simulated dig succeeds
failureBgColor - bg color if simulated dig fails
numRows - number of rows (and columns) in the grid
sim - object that controls the simulation
Method Detail

constructDisplay

protected edu.kzoo.grid.display.ScrollableGridDisplay constructDisplay(int viewingWidth,
                                                                       int viewingHeight,
                                                                       int minCellSize,
                                                                       java.awt.Color bgColor)

setGrid

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

initialize

public void initialize()
Starts or restarts the application.

Specified by:
initialize in interface edu.kzoo.grid.gui.nuggets.InitializationButton.Initializer

onMousePressOverDisplay

protected void onMousePressOverDisplay(edu.kzoo.grid.Location loc)

notifyDigSuccessfullyCompleted

public void notifyDigSuccessfullyCompleted()
Notifies the user that he or she completed the simulation successfully. Alters the background color of the grid and prints a message to the console.


notifyArtifactDamaged

public void notifyArtifactDamaged()
Notifies the user that at least one artifact was damaged. Alters the background color of the grid and prints a message to the console.