edu.uah.math.devices
Class BallotGraph

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.uah.math.devices.Graph
                      extended by edu.uah.math.devices.BallotGraph
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class BallotGraph
extends Graph

This class shows the graph of the random walk in the ballot experiment.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.devices.Graph
ABOVE, BELOW, HORIZONTAL, LEFT, RIGHT, showModelDistribution, VERTICAL
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
BallotGraph()
          This defaut constructor creates a new ballot graphs with winner total 50 and lose count 30.
BallotGraph(int a, int b)
          This general constructor creates a new ballot graph with specified values of the winner total (the number of votes that the winner receives) and loser total (the number of votes that the loser receives).
 
Method Summary
 void countVotes()
          This method randomly counts the votes.
 java.awt.Color getGraphColor()
          This method returns the color for the graph of the random walk (the winners lead as a function of the number of votes counted).
 int getLoserTotal()
          This method returns the total number of votes that the loser receives.
 double getProbability()
          This method gets the probability of the ballot event.
 int getVoteTotal()
          This method returns the total number of votes.
 int[] getWinnerLead()
          This method gets the array of winner leads.
 int getWinnerLead(int i)
          This method gets the winner lead at a specified time index.
 int getWinnerTotal()
          This method returns the total number of votes that the winner receives.
 boolean isVotesCounted()
          This method gets the state of the votes counted variable
 boolean isWinnerAlwaysAhead()
          This method gets the state of the ballot event (true or false).
 void paintComponent(java.awt.Graphics g)
          This method draws the graph of the random walk.
 void reset()
          This method resets the balot graph.
 void setGraphColor(java.awt.Color c)
          This method sets the color for the graph of the random walk (the winners lead as a function of the number of votes counted).
 void setLoserTotal(int b)
          This method sets the total number of votes that the loser receives.
 void setParameters(int a, int b)
          This method sets the basic parameters: the winner count and loser count.
 void setWinnerTotal(int a)
          This method sets the total number of votes that the winner receives.
 
Methods inherited from class edu.uah.math.devices.Graph
drawAxis, drawAxis, drawAxis, drawBox, drawBox, drawBoxPlot, drawBoxPlot, drawCircle, drawLabel, drawLine, drawPoint, drawTick, drawTick, fillBox, fillBox, fillBoxPlot, fillBoxPlot, fillCircle, format, getBottomMargin, getLeftMargin, getPointSize, getRightMargin, getTopMargin, getXGraph, getXMax, getXMin, getXPixels, getXScale, getYGraph, getYMax, getYMin, getYPixels, getYScale, setMargins, setPointSize, setScale, setShowModelDistribution
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BallotGraph

public BallotGraph(int a,
                   int b)
This general constructor creates a new ballot graph with specified values of the winner total (the number of votes that the winner receives) and loser total (the number of votes that the loser receives).

Parameters:
a - the winner count.
b - the loser count.

BallotGraph

public BallotGraph()
This defaut constructor creates a new ballot graphs with winner total 50 and lose count 30. In this default constructor, the votes are counted.

Method Detail

setParameters

public void setParameters(int a,
                          int b)
This method sets the basic parameters: the winner count and loser count.

Parameters:
a - the winner count
b - the loser count.

setWinnerTotal

public void setWinnerTotal(int a)
This method sets the total number of votes that the winner receives.

Parameters:
a - the winner total

getWinnerTotal

public int getWinnerTotal()
This method returns the total number of votes that the winner receives.

Returns:
the winner total.

setLoserTotal

public void setLoserTotal(int b)
This method sets the total number of votes that the loser receives.

Parameters:
b - the loser total

getLoserTotal

public int getLoserTotal()
This method returns the total number of votes that the loser receives.

Returns:
the loser count.

getVoteTotal

public int getVoteTotal()
This method returns the total number of votes.

Returns:
the vote total.

countVotes

public void countVotes()
This method randomly counts the votes.


getWinnerLead

public int getWinnerLead(int i)
This method gets the winner lead at a specified time index.

Parameters:
i - the index
Returns:
the numer of votes that the winner is ahead after i votes are counted.

getWinnerLead

public int[] getWinnerLead()
This method gets the array of winner leads.

Returns:
the array that gives the number of votes that the winner is ahead

isWinnerAlwaysAhead

public boolean isWinnerAlwaysAhead()
This method gets the state of the ballot event (true or false).

Returns:
true if the winner is always ahead in the vote count

isVotesCounted

public boolean isVotesCounted()
This method gets the state of the votes counted variable

Returns:
true if the votes have been counted.

getProbability

public double getProbability()
This method gets the probability of the ballot event.

Returns:
the probability of the ballot event.

paintComponent

public void paintComponent(java.awt.Graphics g)
This method draws the graph of the random walk.

Overrides:
paintComponent in class javax.swing.JComponent

reset

public void reset()
This method resets the balot graph.


setGraphColor

public void setGraphColor(java.awt.Color c)
This method sets the color for the graph of the random walk (the winners lead as a function of the number of votes counted).

Parameters:
c - the graph color

getGraphColor

public java.awt.Color getGraphColor()
This method returns the color for the graph of the random walk (the winners lead as a function of the number of votes counted).

Returns:
the graph color