edu.uah.math.experiments
Class GaltonBoardExperiment

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.experiments.Experiment
                          extended by edu.uah.math.experiments.GaltonBoardExperiment
All Implemented Interfaces:
IExperiment, Pluginable, java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.RootPaneContainer

public class GaltonBoardExperiment
extends Experiment
implements java.io.Serializable

This class models the classical Galton board experiment, illustrating the binomial distribution.

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 edu.uah.math.experiments.Experiment
applet, componentPanel, GREEN, RED, showModelDistribution, stopChoice, stopCount, stopFreq, stopNow, time, toolBars, toolIndex, updateCount, updateFreq
 
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
GaltonBoardExperiment()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          This method handles the action events associated with the simulation buttons.
 void doExperiment()
          This method defines the experiment: n Bernoulli trials are performed and the the values of the random variable are computed.
 java.lang.String getAppletInfo()
          This method returns basic information about the applet, including copyright information, descriptive information, and instructions.
 javax.swing.JTable getResultTable()
           
 void graphUpdate()
           
 void init()
          This method initializes the experiment, including the Galton board, random variable table and graph, and the toolbar.
 void itemStateChanged(java.awt.event.ItemEvent e)
          This method handles the choice event, for selecting the random variable to display.
 void reset()
          This method resets the experiment, including the Galton board, the record table, the random variable graph and table.
 void run()
          This method starts run mode, by first turning off the step timer if necessary.
 void setDistribution()
          This method sets the parameters of the distributions, and is called when one of these parameters is changed with the scrollbar.
 void stateChanged(javax.swing.event.ChangeEvent e)
          This method handles the scroll events that adjust the number of trials and the probability of success.
 void step()
          This method runs the experiment one time, by dropping the ball through the Galton board.
 void stop()
          This method stops the experiment, by first stopping the step timer and then calling the usual stop method.
 void update()
          This method updates the display, including the Galton board, the record table, the random variable graph and table.
 
Methods inherited from class edu.uah.math.experiments.Experiment
addComponent, addComponent, addComponent, addTool, addToolBar, clearToolBars, format, getComponentPanel, getDisplayPane, getMainToolBar, getOnlineDescription, getStopChoice, getStopFreq, getTime, getTimer, getUpdateChoice, initialize, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, pasteData, playnote, playnote, setApplet, setDecimalFormat, setShowModelDistribution, setStopChoice, setStopChoiceTipText, setStopFreq, setStopNow, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
 
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
 
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

GaltonBoardExperiment

public GaltonBoardExperiment()
Method Detail

init

public void init()
This method initializes the experiment, including the Galton board, random variable table and graph, and the toolbar.

Overrides:
init in class Experiment

getAppletInfo

public java.lang.String getAppletInfo()
This method returns basic information about the applet, including copyright information, descriptive information, and instructions.

Specified by:
getAppletInfo in interface IExperiment
Overrides:
getAppletInfo in class Experiment
Returns:
applet information

doExperiment

public void doExperiment()
This method defines the experiment: n Bernoulli trials are performed and the the values of the random variable are computed.

Specified by:
doExperiment in interface IExperiment
Overrides:
doExperiment in class Experiment

step

public void step()
This method runs the experiment one time, by dropping the ball through the Galton board. Run mode is stopped, if necessary.

Specified by:
step in interface IExperiment
Overrides:
step in class Experiment

run

public void run()
This method starts run mode, by first turning off the step timer if necessary.

Overrides:
run in class Experiment

stop

public void stop()
This method stops the experiment, by first stopping the step timer and then calling the usual stop method.

Specified by:
stop in interface IExperiment
Overrides:
stop in class Experiment

reset

public void reset()
This method resets the experiment, including the Galton board, the record table, the random variable graph and table. The step timer is stopped if necessary.

Specified by:
reset in interface IExperiment
Overrides:
reset in class Experiment

update

public void update()
This method updates the display, including the Galton board, the record table, the random variable graph and table.

Specified by:
update in interface IExperiment
Overrides:
update in class Experiment

graphUpdate

public void graphUpdate()
Specified by:
graphUpdate in interface IExperiment
Overrides:
graphUpdate in class Experiment

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
This method handles the scroll events that adjust the number of trials and the probability of success.

Specified by:
stateChanged in interface javax.swing.event.ChangeListener
Overrides:
stateChanged in class Experiment
Parameters:
e - the change event

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
This method handles the choice event, for selecting the random variable to display.

Specified by:
itemStateChanged in interface java.awt.event.ItemListener
Overrides:
itemStateChanged in class Experiment
Parameters:
e - the item event

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Description copied from class: Experiment
This method handles the action events associated with the simulation buttons. The single step button calls the step method, which runs the experiment one time, and then stops. The run button calls the run method, which runs the experiment repeatedly. The stop button calls the stop method, which stops the run mode and then calls the update method if necessary. The reset button callse the reset method. The about button shows a message dialog box with the text from getAppletInfo method. This method also handles the timer events.

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

setDistribution

public void setDistribution()
This method sets the parameters of the distributions, and is called when one of these parameters is changed with the scrollbar.


getResultTable

public javax.swing.JTable getResultTable()
Specified by:
getResultTable in interface IExperiment
Overrides:
getResultTable in class Experiment