com.tensegrity.gui.swing.control
Class ColorComboBox

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.AbstractButton
                  extended byjavax.swing.JButton
                      extended bycom.tensegrity.gui.swing.control.multiselect.MultiSelectComboBox
                          extended bycom.tensegrity.gui.swing.control.ColorComboBox
All Implemented Interfaces:
javax.accessibility.Accessible, Evaluable, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants
Direct Known Subclasses:
SwingAttributeEditorComponents.ColorBox

public class ColorComboBox
extends MultiSelectComboBox

This class implements a ComboBox which lets a user select from 64 predefined colors layouted in a multi select popup matrix of 8x8 fields. The popup also contains a button to launch an extended color chooser.

Version:
$Id: ColorComboBox.java,v 1.20 2005/09/06 14:59:13 BurkhardWick Exp $
Author:
Gilles Iachelini
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JButton
javax.swing.JButton.AccessibleJButton
 
Nested classes inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class com.tensegrity.gui.swing.control.multiselect.MultiSelectComboBox
listeners, multiSelect, uiItemEvList, uiManager
 
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ColorComboBox(UIManager uiManager)
          Creates a new ColorComboBox.
ColorComboBox(UIManager uiManager, int controlHeight)
          Creates a new ColorComboBox.
 
Method Summary
protected  void createCombo()
          Adds a custom panel to the multiselect.
 javax.swing.JLabel createLabel()
          Creates a ColorLabel instance to be used as Label for this Combo.
 MultiSelectPanel createMultiSelect()
          Method createMultiSelect creates the color MultiSelectPanel control with ColorMultiSelectItem initialized with ColorUtilities.colorCacheDefault.
protected  java.awt.event.ItemEvent getItemEvent(MultiSelectItem item)
          Creates an ItemEvent with a Color instance as item.
 java.awt.Color getSelectedColor()
          Returns the current selected color.
 int indexOf(java.awt.Color color)
          Method getIndex tries to find a specific Color within the MultiSelectPanel and returns the color.
 void setSelectedColor(java.awt.Color color)
          Method setSelectedColor allows users of the combo to set a initial color or change selection of the combo by specifying a color.
 void setSelectedIndex(int i)
          Method setSelectedIndex sets the selected item within the multiselect to the given index.
protected  void updateItemLabel(MultiSelectItem item)
          Sets the color retrieved by the given MultiSelectItem parameter on the label.
 
Methods inherited from class com.tensegrity.gui.swing.control.multiselect.MultiSelectComboBox
addItemListener, applyEvList, fireEvent, fireEvent, getItemLabel, getMinimumSize, getMultiSelect, getPopup, getPreferredSize, getSelectedIndex, getSelectedObjects, getSelection, indexOf, installEvList, itemStateChanged, paintChildren, removeItemListener, setEnabled, togglePopup
 
Methods inherited from class javax.swing.JButton
configurePropertiesFromAction, getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable, updateUI
 
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
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, getNextFocusableComponent, 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, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, 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
 

Constructor Detail

ColorComboBox

public ColorComboBox(UIManager uiManager)
Creates a new ColorComboBox.

Parameters:
uiManager - the UIManager instance to obtain localized strings from.

ColorComboBox

public ColorComboBox(UIManager uiManager,
                     int controlHeight)
Creates a new ColorComboBox.

Parameters:
uiManager - the UIManager instance to obtain localized strings from.
controlHeight - the height of this Control in pixel.
Method Detail

createMultiSelect

public MultiSelectPanel createMultiSelect()
Method createMultiSelect creates the color MultiSelectPanel control with ColorMultiSelectItem initialized with ColorUtilities.colorCacheDefault.

Specified by:
createMultiSelect in class MultiSelectComboBox
Returns:
MultiSelectPanel
See Also:
ColorUtilities.colorCacheDefault

createLabel

public javax.swing.JLabel createLabel()
Creates a ColorLabel instance to be used as Label for this Combo.

Specified by:
createLabel in class MultiSelectComboBox
Returns:
the label to be used.
See Also:
MultiSelectComboBox.createLabel()

getItemEvent

protected java.awt.event.ItemEvent getItemEvent(MultiSelectItem item)
Creates an ItemEvent with a Color instance as item.

Overrides:
getItemEvent in class MultiSelectComboBox
Parameters:
item - The item which has been selected by user.
Returns:
ItemEvent a newly created ItemEvent instance.
See Also:
MultiSelectComboBox.getItemEvent(MultiSelectItem)

createCombo

protected void createCombo()
Adds a custom panel to the multiselect.

Overrides:
createCombo in class MultiSelectComboBox
See Also:
MultiSelectComboBox.createCombo()

indexOf

public int indexOf(java.awt.Color color)
Method getIndex tries to find a specific Color within the MultiSelectPanel and returns the color.

Parameters:
color - the color instance to find.
Returns:
int the index within the multiselect or -1, if the color is not found.

getSelectedColor

public java.awt.Color getSelectedColor()
Returns the current selected color.

Returns:
Color an instance of class Color representing the current selection within the underlying multiselect panel.

setSelectedColor

public void setSelectedColor(java.awt.Color color)
Method setSelectedColor allows users of the combo to set a initial color or change selection of the combo by specifying a color. This method is meant as alternative to the setSelectedIndex method, which only allows you to set Colors defined by a valid index. If the color is not found in the list of predefined colors, the "others"-button control is initialized properly to reflect the custom color.

Parameters:
color - the color to select.

setSelectedIndex

public void setSelectedIndex(int i)
Description copied from class: MultiSelectComboBox
Method setSelectedIndex sets the selected item within the multiselect to the given index.

Overrides:
setSelectedIndex in class MultiSelectComboBox
Parameters:
i - the index of the element.
See Also:
MultiSelectPanel.setSelectedIndex(int)

updateItemLabel

protected void updateItemLabel(MultiSelectItem item)
Sets the color retrieved by the given MultiSelectItem parameter on the label.

Specified by:
updateItemLabel in class MultiSelectComboBox
Parameters:
item - the selected item.
See Also:
MultiSelectComboBox.updateItemLabel(MultiSelectItem)


Copyright © 2005 Tensegrity Software GmbH. All Rights Reserved. Date of creation: 09.06.2006.