edu.kzoo.grid.gui
Class ColorChoiceDDMenu

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JComboBox
                          |
                          +--edu.kzoo.grid.gui.ColorChoiceDDMenu
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, javax.swing.event.ListDataListener, java.awt.MenuContainer, java.io.Serializable

public class ColorChoiceDDMenu
extends javax.swing.JComboBox

Grid GUI Support Package:
The ColorChoiceDDMenu class provides a drop-down menu for choosing a color.

A number of predefined color choices, ColorChoiceDDMenu.RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET, WHITE, GRAY, BLACK, RANDOM, and CUSTOM, have been provided for specifying the choices that should be made available in the menu and for specifying the initial selected color choice. This set of choices comprises the standard set.

Version:
15 December 2003
Author:
Alyce Brady (based on code by Julie Zelenski)
See Also:
Serialized Form

Nested Class Summary
static class ColorChoiceDDMenu.ColorChoice
          Nested class used to hold the per-item information for the entries in the combo box of color choices.
protected static class ColorChoiceDDMenu.ColorIcon
          Nested class used to draw the color swatch icon used for color choice entries in the color combo box.
 
Field Summary
static ColorChoiceDDMenu.ColorChoice BLACK
           
static ColorChoiceDDMenu.ColorChoice BLUE
           
static ColorChoiceDDMenu.ColorChoice CUSTOM
           
static ColorChoiceDDMenu.ColorChoice GRAY
           
static ColorChoiceDDMenu.ColorChoice GREEN
           
static ColorChoiceDDMenu.ColorChoice INDIGO
           
static ColorChoiceDDMenu.ColorChoice ORANGE
           
static ColorChoiceDDMenu.ColorChoice RANDOM
           
static java.awt.Color RANDOM_COLOR
          Unique constant object representing a random color (to compare == to)
static ColorChoiceDDMenu.ColorChoice RED
           
static ColorChoiceDDMenu.ColorChoice[] STANDARD_CHOICES
           
static ColorChoiceDDMenu.ColorChoice VIOLET
           
static ColorChoiceDDMenu.ColorChoice WHITE
           
static ColorChoiceDDMenu.ColorChoice YELLOW
           
 
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
 
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
ColorChoiceDDMenu()
          Creates a color choice menu in which the selected choice to begin with is the "Random" color choice.
ColorChoiceDDMenu(ColorChoiceDDMenu.ColorChoice startingColorChoice)
          Creates a color choice menu in which startingColorChoice is the selected one when the menu is created.
ColorChoiceDDMenu(ColorChoiceDDMenu.ColorChoice[] colorChoices, ColorChoiceDDMenu.ColorChoice startingColorChoice)
          Creates a color choice menu with the specified color choices and with startingColorChoice as the selected one when the menu is created.
ColorChoiceDDMenu(java.lang.String startingColorChoice)
          Creates a color choice menu in which startingColorChoice is the selected one when the menu is created.
 
Method Summary
protected  void chooseColor()
          Follows up when the user picks a new choice from the drop-down menu (specified listener action).
 java.awt.Color currentColor()
          Returns the currently selected color.
static ColorChoiceDDMenu.ColorChoice getChoice(java.lang.String name)
          Gets the color choice from STANDARD_CHOICES with the specified name.
 
Methods inherited from class javax.swing.JComboBox
actionPerformed, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

RANDOM_COLOR

public static final java.awt.Color RANDOM_COLOR
Unique constant object representing a random color (to compare == to)


RED

public static final ColorChoiceDDMenu.ColorChoice RED

ORANGE

public static final ColorChoiceDDMenu.ColorChoice ORANGE

YELLOW

public static final ColorChoiceDDMenu.ColorChoice YELLOW

GREEN

public static final ColorChoiceDDMenu.ColorChoice GREEN

BLUE

public static final ColorChoiceDDMenu.ColorChoice BLUE

INDIGO

public static final ColorChoiceDDMenu.ColorChoice INDIGO

VIOLET

public static final ColorChoiceDDMenu.ColorChoice VIOLET

WHITE

public static final ColorChoiceDDMenu.ColorChoice WHITE

GRAY

public static final ColorChoiceDDMenu.ColorChoice GRAY

BLACK

public static final ColorChoiceDDMenu.ColorChoice BLACK

RANDOM

public static final ColorChoiceDDMenu.ColorChoice RANDOM

CUSTOM

public static final ColorChoiceDDMenu.ColorChoice CUSTOM

STANDARD_CHOICES

public static final ColorChoiceDDMenu.ColorChoice[] STANDARD_CHOICES
Constructor Detail

ColorChoiceDDMenu

public ColorChoiceDDMenu()
Creates a color choice menu in which the selected choice to begin with is the "Random" color choice.


ColorChoiceDDMenu

public ColorChoiceDDMenu(java.lang.String startingColorChoice)
Creates a color choice menu in which startingColorChoice is the selected one when the menu is created. (Precondition: startingColorChoice is one of the color choices in STANDARD_CHOICES, whose labels are "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet", "White", "Gray", "Black", "Random", and "Other ...".)

Parameters:
startingColorChoice - the initial selected color choice

ColorChoiceDDMenu

public ColorChoiceDDMenu(ColorChoiceDDMenu.ColorChoice startingColorChoice)
Creates a color choice menu in which startingColorChoice is the selected one when the menu is created. (Precondition: startingColorChoice is one of the color choices in STANDARD_CHOICES.)

Parameters:
startingColorChoice - the initial selected color choice

ColorChoiceDDMenu

public ColorChoiceDDMenu(ColorChoiceDDMenu.ColorChoice[] colorChoices,
                         ColorChoiceDDMenu.ColorChoice startingColorChoice)
Creates a color choice menu with the specified color choices and with startingColorChoice as the selected one when the menu is created. The color choices may be any of the pre-defined color choices, ColorChoiceDDMenu.RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET, WHITE, BLACK, RANDOM, or CUSTOM, or may ones constructed with the ColorChoiceDDMenu.ColorChoice constructor. (Precondition: startingColorChoice is one of the color choices in colorChoices.)

Parameters:
colorChoices - the set of color choices to show in the drop-down menu
startingColorChoice - the initial selected color choice
Method Detail

getChoice

public static ColorChoiceDDMenu.ColorChoice getChoice(java.lang.String name)
Gets the color choice from STANDARD_CHOICES with the specified name. Returns null if there is no such color choice in STANDARD_CHOICES.


chooseColor

protected void chooseColor()
Follows up when the user picks a new choice from the drop-down menu (specified listener action).


currentColor

public java.awt.Color currentColor()
Returns the currently selected color. If random color is selected, returns a new randomly generated color.

Returns:
the currently selected color