edu.uah.math.experiments
Class UrnExperiment

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.UrnExperiment
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 UrnExperiment
extends Experiment
implements java.io.Serializable

This class defines a basic experiment based on drawing balls from an urn. The balls are red and green. The method sampling (with or without replacement) can be specified, along with the population size, sample size, and number of red balls. The random variable of interest is the number of red balls in the sample.

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
static int WITH_REPLACEMENT
           
static int WITHOUT_REPLACEMENT
           
 
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
UrnExperiment()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          This method handles the events associated with the timer.
 void doExperiment()
          This method defines the experment.
 java.lang.String getAppletInfo()
          This method returns basic information about the applet, including copyright information, descriptive informaion, and instructions.
 javax.swing.JTable getResultTable()
           
 void graphUpdate()
           
 void init()
          This method initialize the experiment, including the record table, the sliders for the number of balls, the sample size, and the number of red balls, the choice box for the type of sampling, the tool bar, the urn, and the graph and table for the number of red balls.
 void itemStateChanged(java.awt.event.ItemEvent e)
          This method handles the events associated with the choice box that determines the type of sampling.
 void reset()
          This method resets the experiment, including the urn, the random variable, the random variable graph and table, and the record table.
 void run()
          This method stops the step process, if necessary, and then calls the usual run method.
 void setParameters()
          This method sets the distribution for the random variable in terms of the parameters (the number of balls, the number of red balls, and the sample size.
 void stateChanged(javax.swing.event.ChangeEvent e)
          This method handles the slider events associated with changing the parameters (the number of balls, the number of red balls, and the sample size).
 void step()
          This method runs the experiment one time, with additional annimation and sound..
 void stop()
          This method stops the step process, if necessary, and then calls the usual stop method.
 void update()
          This method updates the display, including the urn, the random variable graph and table, and the record 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
 

Field Detail

WITH_REPLACEMENT

public static final int WITH_REPLACEMENT
See Also:
Constant Field Values

WITHOUT_REPLACEMENT

public static final int WITHOUT_REPLACEMENT
See Also:
Constant Field Values
Constructor Detail

UrnExperiment

public UrnExperiment()
Method Detail

init

public void init()
This method initialize the experiment, including the record table, the sliders for the number of balls, the sample size, and the number of red balls, the choice box for the type of sampling, the tool bar, the urn, and the graph and table for the number of red balls.

Overrides:
init in class Experiment

getAppletInfo

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

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

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
This method handles the events associated with the choice box that determines the type of sampling.

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

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
This method handles the slider events associated with changing the parameters (the number of balls, the number of red balls, and the sample size).

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

setParameters

public void setParameters()
This method sets the distribution for the random variable in terms of the parameters (the number of balls, the number of red balls, and the sample size.


doExperiment

public void doExperiment()
This method defines the experment. The balls are chosen at random and the number of red balls in the sample computed.

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

update

public void update()
This method updates the display, including the urn, the random variable graph and table, and the record 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

step

public void step()
This method runs the experiment one time, with additional annimation and sound..

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

run

public void run()
This method stops the step process, if necessary, and then calls the usual run method.

Overrides:
run in class Experiment

stop

public void stop()
This method stops the step process, if necessary, and then calls 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 urn, the random variable, the random variable graph and table, and the record table.

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

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
This method handles the events associated with the timer. The balls are shown one at a time.

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

getResultTable

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