org.jscience.swing
Class JDie

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.jscience.swing.JDie
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JDie
extends javax.swing.JComponent
implements java.io.Serializable

This class models a standard, 6-sided die with specified colors and probabilities.

See Also:
Serialized Form

Nested Class Summary
 
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
static int FAIR
          DOCUMENT ME!
static int FLAT16
          DOCUMENT ME!
static int FLAT25
          DOCUMENT ME!
static int FLAT34
          DOCUMENT ME!
static int LEFT
          DOCUMENT ME!
static int RIGHT
          DOCUMENT ME!
 
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
JDie()
          This default constructor creates a new fair die, and with default size and colors.
JDie(double[] p)
          This special constructor creates a new die with and specified probabilities and with default size 36 and with back color red and spot color white.
JDie(double[] p, int s)
          This special constructor creates a new die with and specified probabilities and size, and with default back color red and spot color white.
JDie(double[] p, int s, java.awt.Color bc, java.awt.Color sc)
          This general constructor creates a new die with specified probabilities, size, back color, and spot color.
JDie(int t)
          This special constructor creates a new die with specified probabilities of special type, and with default size 36 and colors red and white.
JDie(int t, int s)
          This special constructor creates a new die with specified probabilities of special type, and with specified size, and with default colors red and white.
JDie(int t, int s, java.awt.Color bc, java.awt.Color sc)
          This general constructor creates a new die with specified probabilities of special type, and with specified size and colors.
 
Method Summary
 java.awt.Color getBackColor()
          This method gets the back color.
 double[] getProbabilities()
          This method returns the probability distribution of the die.
 double getProbabilities(int i)
          This method returns the probability of a specified face.
 java.awt.Color getSpotColor()
          The method gets the spot color.
 int getValue()
          This method gets the value of the die.
 boolean isRolled()
          This method returns the state of the die (rolled or not rolled).
 void paintComponent(java.awt.Graphics g)
          This method paints the die.
 void roll()
          This method sets the value of the die to a random value, as determined by the probabilities.
 void setBackColor(java.awt.Color bc)
          This method sets the back color.
 void setColors(java.awt.Color bc, java.awt.Color sc)
          This method sets the colors.
 void setProbabilities(double[] p)
          This method sets the probabilities to specified values.
 void setProbabilities(int i, double p)
          This method sets an individual probability
 void setRolled(boolean b)
          This method sets the state of the die (rolled or not rolled).
 void setSpecialProbabilities(int t)
          This method sets the probabilities to a special type.
 void setSpotColor(java.awt.Color sc)
          This method sets the spot color.
 void setValue(int x)
          This method sets the value of the die to a specified value.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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
 

Field Detail

FAIR

public static final int FAIR
DOCUMENT ME!

See Also:
Constant Field Values

FLAT16

public static final int FLAT16
DOCUMENT ME!

See Also:
Constant Field Values

FLAT25

public static final int FLAT25
DOCUMENT ME!

See Also:
Constant Field Values

FLAT34

public static final int FLAT34
DOCUMENT ME!

See Also:
Constant Field Values

LEFT

public static final int LEFT
DOCUMENT ME!

See Also:
Constant Field Values

RIGHT

public static final int RIGHT
DOCUMENT ME!

See Also:
Constant Field Values
Constructor Detail

JDie

public JDie(double[] p,
            int s,
            java.awt.Color bc,
            java.awt.Color sc)
This general constructor creates a new die with specified probabilities, size, back color, and spot color.

Parameters:
p - the array of probabilities
s - the preferred size
bc - the back color
sc - the spot color

JDie

public JDie(double[] p,
            int s)
This special constructor creates a new die with and specified probabilities and size, and with default back color red and spot color white.

Parameters:
p - the array of probabilities
s - the preferred size

JDie

public JDie(double[] p)
This special constructor creates a new die with and specified probabilities and with default size 36 and with back color red and spot color white.

Parameters:
p - the array of probabilities

JDie

public JDie(int t,
            int s,
            java.awt.Color bc,
            java.awt.Color sc)
This general constructor creates a new die with specified probabilities of special type, and with specified size and colors.

Parameters:
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, skewed right)
s - the preferred size
bc - the back color
sc - the spot color

JDie

public JDie(int t,
            int s)
This special constructor creates a new die with specified probabilities of special type, and with specified size, and with default colors red and white.

Parameters:
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, skewed right)
s - the preferred size

JDie

public JDie(int t)
This special constructor creates a new die with specified probabilities of special type, and with default size 36 and colors red and white.

Parameters:
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, skewed right)

JDie

public JDie()
This default constructor creates a new fair die, and with default size and colors.

Method Detail

paintComponent

public void paintComponent(java.awt.Graphics g)
This method paints the die.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - the graphics context

setValue

public void setValue(int x)
This method sets the value of the die to a specified value.

Parameters:
x - the value of the die.

roll

public void roll()
This method sets the value of the die to a random value, as determined by the probabilities.


getValue

public int getValue()
This method gets the value of the die.

Returns:
the die score

setProbabilities

public void setProbabilities(double[] p)
This method sets the probabilities to specified values.

Parameters:
p - the array of probabilities

setProbabilities

public void setProbabilities(int i,
                             double p)
This method sets an individual probability

Parameters:
i - the index
p - the probability corresponding to the index

setSpecialProbabilities

public void setSpecialProbabilities(int t)
This method sets the probabilities to a special type.

Parameters:
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, skewed right)

getProbabilities

public double getProbabilities(int i)
This method returns the probability of a specified face.

Parameters:
i - the face number
Returns:
DOCUMENT ME!

getProbabilities

public double[] getProbabilities()
This method returns the probability distribution of the die.

Returns:
the array of probabilities

setColors

public void setColors(java.awt.Color bc,
                      java.awt.Color sc)
This method sets the colors.

Parameters:
bc - the back color
sc - the spot color

setBackColor

public void setBackColor(java.awt.Color bc)
This method sets the back color.

Parameters:
bc - the back color

getBackColor

public java.awt.Color getBackColor()
This method gets the back color.

Returns:
the back color

setSpotColor

public void setSpotColor(java.awt.Color sc)
This method sets the spot color.

Parameters:
sc - the spot color

getSpotColor

public java.awt.Color getSpotColor()
The method gets the spot color.

Returns:
the spot color

setRolled

public void setRolled(boolean b)
This method sets the state of the die (rolled or not rolled). If rolled, the die is shown with the specified back color and spot color. If not rolled, an outline of the die is shown in the background color.

Parameters:
b - the state of the die (rolled or not rolled)

isRolled

public boolean isRolled()
This method returns the state of the die (rolled or not rolled). If rolled, the die is shown with the specified back color and spot color. If not rolled, an outline of the die is shown in the background color.

Returns:
the state of the die (rolled or not rolled)