edu.uah.math.games
Class Game

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet
                      extended by edu.uah.math.games.Game
All Implemented Interfaces:
IGame, Pluginable, java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.RootPaneContainer
Direct Known Subclasses:
BivariateGame, ErrorGame, GaltonBoardGame, HistogramGame, MontyHallGame, RedBlackGame

public class Game
extends javax.swing.JApplet
implements IGame, java.awt.event.ActionListener, java.awt.event.ItemListener, javax.swing.event.ChangeListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable

This class defines a basic shell for an interactive exploration. Typically, the user generates the data by making choices in a game or by clicking on a number line or scatter plot. This class must be sub-classed to add the appropriate functionality.

Version:
August, 2003
Author:
Kyle Siegrist, Dawn Duehring
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JApplet
javax.swing.JApplet.AccessibleJApplet
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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
 
Fields inherited from class javax.swing.JApplet
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Game()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          This method handles the events for the About button and the Reset button.
 void addComponent(java.awt.Component c, int x, int y, int w, int h)
           
 void addComponent(java.awt.Component c, int x, int y, int w, int h, int f)
          This method adds a component to the component panel at a specified row and column, specified row span and column span, and specified fill parameter.
 void addComponent(java.awt.Component c, int x, int y, int w, int h, int wx, int wy)
          This method adds a component to the component panel at a specified row and column, specified row span and column span, and specified horizontal and vertical weights.
 void addTool(java.awt.Component c)
          This method adds a tool to the main toolbar, in the next to the last position (just before the About button).
 void addToolBar(java.awt.Component c)
          This method adds a new component to the top panel.
 java.lang.String getAppletInfo()
          This method returns basic copyright information.
 java.awt.Container getDisplayPane()
           
 java.lang.String getOnlineDescription()
          This method returns an online description of this Statistical Analysis.
 void init()
          This method initializes the game, including the basic toolbar with reset and about buttons, and the record table to record the outcome of the game.
 void itemStateChanged(java.awt.event.ItemEvent event)
           
 void mouseClicked(java.awt.event.MouseEvent event)
           
 void mouseDragged(java.awt.event.MouseEvent event)
           
 void mouseEntered(java.awt.event.MouseEvent event)
           
 void mouseExited(java.awt.event.MouseEvent event)
           
 void mouseMoved(java.awt.event.MouseEvent event)
           
 void mousePressed(java.awt.event.MouseEvent event)
           
 void mouseReleased(java.awt.event.MouseEvent event)
           
 void playnote(int i)
          This method plays one of the standard "telephone" notes 0.au through 9.au.
 void reset()
          This is the method for resetting the game and should be overridden.
 void setApplet(javax.swing.JApplet applet)
           
 void stateChanged(javax.swing.event.ChangeEvent event)
           
 
Methods inherited from class javax.swing.JApplet
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isRootPaneCheckingEnabled, paramString, remove, repaint, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.applet.Applet
destroy, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, 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, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, 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 edu.ucla.stat.SOCR.core.Pluginable
getName
 

Constructor Detail

Game

public Game()
Method Detail

init

public void init()
This method initializes the game, including the basic toolbar with reset and about buttons, and the record table to record the outcome of the game.

Overrides:
init in class java.applet.Applet

getAppletInfo

public java.lang.String getAppletInfo()
This method returns basic copyright information. The method can be overridden to add additional descriptive and instructional information.

Overrides:
getAppletInfo in class java.applet.Applet

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
This method handles the events for the About button and the Reset button.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the action event

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent event)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent event)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent event)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

reset

public void reset()
This is the method for resetting the game and should be overridden.

Specified by:
reset in interface IGame

addToolBar

public void addToolBar(java.awt.Component c)
This method adds a new component to the top panel. Typically, this component is a toolbar or some other "thin" component.

Parameters:
c - the toolbar to be added

addComponent

public void addComponent(java.awt.Component c,
                         int x,
                         int y,
                         int w,
                         int h,
                         int wx,
                         int wy)
This method adds a component to the component panel at a specified row and column, specified row span and column span, and specified horizontal and vertical weights.

Parameters:
c - the component
x - the column number of the component
y - the row number of the component
w - the number of columns spanned by the component
h - the number of rows panned by the component
wx - the horizontal weight factor;
wy - the vertical weight factor;

addComponent

public void addComponent(java.awt.Component c,
                         int x,
                         int y,
                         int w,
                         int h,
                         int f)
This method adds a component to the component panel at a specified row and column, specified row span and column span, and specified fill parameter.

Parameters:
c - the component
x - the column number of the component
y - the row number of the component
w - the number of columns spanned by the component
h - the number of rows panned by the component
f - the fill parameter;

addComponent

public void addComponent(java.awt.Component c,
                         int x,
                         int y,
                         int w,
                         int h)

addTool

public void addTool(java.awt.Component c)
This method adds a tool to the main toolbar, in the next to the last position (just before the About button).

Parameters:
c - the tool to be added

playnote

public void playnote(int i)
This method plays one of the standard "telephone" notes 0.au through 9.au. If the index is out of range, the note corresponding to the remainder mod 10 is played.

Parameters:
i - the note index

getOnlineDescription

public java.lang.String getOnlineDescription()
Description copied from interface: IGame
This method returns an online description of this Statistical Analysis. It should be overwritten by each specific analysis method.

Specified by:
getOnlineDescription in interface IGame

setApplet

public void setApplet(javax.swing.JApplet applet)
Specified by:
setApplet in interface Pluginable

getDisplayPane

public java.awt.Container getDisplayPane()
Specified by:
getDisplayPane in interface Pluginable