JIDE 3.5.15

com.jidesoft.combobox
Class ColorComboBox

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.jidesoft.combobox.AbstractComboBox
                  extended by com.jidesoft.combobox.ColorComboBox
All Implemented Interfaces:
ConverterContextSupport, AlignmentSupport, ActionListener, FocusListener, MouseListener, ImageObserver, ItemSelectable, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, PopupMenuListener
Direct Known Subclasses:
LegacyColorCellRenderer

public class ColorComboBox
extends AbstractComboBox
implements PropertyChangeListener

ColorComboBox is a combobox which can be used to choose a Color.

See Also:
Serialized Form

Nested Class Summary
 class ColorComboBox.ColorEditorComponent
          The EditorComponent for ColorComboBox.
 class ColorComboBox.ColorLabel
          The color label component to paint the selected color.
 class ColorComboBox.ColorRendererComponent
           
 
Nested classes/interfaces inherited from class com.jidesoft.combobox.AbstractComboBox
AbstractComboBox.AccessibleJComboBox, AbstractComboBox.ComboBoxSpinner, AbstractComboBox.ComboBoxTextField, AbstractComboBox.DefaultRendererComponent, AbstractComboBox.DefaultTextFieldEditorComponent, AbstractComboBox.EditorComponent, AbstractComboBox.EnterLazyDelegateAction, AbstractComboBox.LazyDelegateAction, AbstractComboBox.SpinnerEditorComponent
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String PROPERTY_COLOR_ICON_VISIBLE
           
static String PROPERTY_COLOR_MODE
           
static String PROPERTY_COLOR_VALUE_VISIBLE
           
static String PROPERTY_SELECTED_COLOR
           
 
Fields inherited from class com.jidesoft.combobox.AbstractComboBox
_dialog, _editable, _editor, _listDataListener, _oldSelectedItemReminder, _popupButton, _popupPanel, _renderer, actionCommand, CLIENT_PROPERTY_HIDE_POPUP_ON_LIST_DATA_CHANGED, CLIENT_PROPERTY_TABLE_CELL_EDITOR, CLIENT_PROPERTY_TABLE_CELL_RENDERER, COMMIT, COMMIT_OR_RESET, COMMIT_OR_REVERT, dataModel, DIALOG, DROPDOWN, HIDE_POPUP_KEY, PERSIST, PROPERTY_SELECTED_ITEM, RESET, REVERT, 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
ColorComboBox()
          Creates a new ColorComboBox using ColorChooserPanel with 40 colors.
ColorComboBox(int palette)
          Creates a new ColorComboBox.
 
Method Summary
 AbstractComboBox.EditorComponent createEditorComponent()
          Subclass should implement this method to create the actual editor component.
 PopupPanel createPopupComponent()
          Creates a ColorChooserPanel as the popup.
 int getColorMode()
          Gets the color mode of the ColorComboBox.
 Dimension getPreferredSize()
           
 Color getSelectedColor()
          Gets selected color.
 boolean isAllowDefaultColor()
          If the default color button is visible.
 boolean isAllowMoreColors()
          If the more color button is visible.
 boolean isColorIconVisible()
          Checks if the color icon is displayed.
 boolean isColorValueVisible()
          Checks if the color value is displayed.
 boolean isCrossBackGroundStyle()
          Get the flag if ColorComboBox should still draw a cross in the color label

The default value now is false.

 boolean isInvalidValueAllowed()
          Checks if the invalid value is allowed.
 boolean isUseAlphaColorButtons()
          Get the flag indicating if the alpha value will change the display of the color buttons in the ColorChoosePanel.
 void propertyChange(PropertyChangeEvent evt)
          This method is called when the color changes because of navigation keys.
 void setAllowDefaultColor(boolean allowDefaultColor)
          Sets the visibility of default color button.
 void setAllowMoreColors(boolean allowMoreColors)
          Sets the visibility of more color button.
 void setColorIconVisible(boolean colorIconVisible)
          Show or hide the color icon.
 void setColorMode(int colorMode)
          Sets the color mode of the ColorComboBox.
 void setColorValueVisible(boolean colorValueVisible)
          Show or hide the color value.
 void setCrossBackGroundStyle(boolean crossBackGroundStyle)
          Set the flag if ColorComboBox should still draw a cross in the color label

The default value now is false.

 void setInvalidValueAllowed(boolean invalidValueAllowed)
          Sets the flag if the invalid value is allowed to be entered into DateComboBox.
 void setSelectedColor(Color color)
          Sets selected color.
 void setSelectedItem(Object anObject, boolean fireEvent)
          Same as AbstractComboBox.setSelectedItem(Object) except you can choose to fire the ItemEvent or not.
 void setUseAlphaColorButtons(boolean useAlphaColorButtons)
          Set the flag indicating if the alpha value will change the display of the color buttons in the ColorChoosePanel.
protected  void updateColorFromEditorComponent()
           
 
Methods inherited from class com.jidesoft.combobox.AbstractComboBox
actionPerformed, addActionListener, addItemListener, addNotify, addPopupMenuListener, calculatePopupLocation, comboBoxSelected, commitEdit, commitEditWithFocusLostBehavior, configurePropertiesFromAction, createActionPropertyChangeListener, createButtonComponent, createDefaultButton, createPopupWindow, createPropertyChangeListener, createSpinner, createTextField, customizeButton, customizeDialog, customizeDialogLocation, customizePopup, delegateKeyStrokes, equals, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, focusGained, focusLost, getAccessibleContext, getAction, getActionCommand, getActionListeners, getBackground, getBaseline, getConverter, getConverterContext, getDefaultCancelAction, getDefaultOKAction, getDelegateKeyStrokes, getDelegateTarget, getDialogCancelAction, getDialogOKAction, getDisabledBackground, getDisabledForeground, getEditor, getFocusLostBehavior, getForeground, getHorizontalAlignment, getItemListeners, getModel, getPopupButton, getPopupCancelBehavior, getPopupLocation, getPopupMenuListeners, getPopupPanel, getPopupType, getPrototypeDisplayValue, getRenderer, getSelectedItem, getSelectedItemForPopupPanel, getSelectedObjects, getType, getVerticalAlignment, hidePopup, initComponent, initComponent, installColorFontAndBorder, installListener, isButtonOnly, isButtonVisible, isClearSelectionOnListDataChanged, isEditable, isHidePopupOnListDataChanged, isKeepPopupSize, isOpaque, isPopupVisible, isPopupVolatile, isStretchToFit, isToggleValueOnDoubleClick, isUpdateFromPopupOnFly, listDataChanged, modelUpdated, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, notifyUser, paintComponent, popupMenuCanceled, popupMenuWillBecomeInvisible, popupMenuWillBecomeVisible, processKeyBinding, removeActionListener, removeItemListener, removeNotify, removePopupMenuListener, resetEdit, resetPopup, revertEdit, selectedItemChanged, setAction, setActionCommand, setBackground, setBorder, setButtonOnly, setButtonVisible, setClearSelectionOnListDataChanged, setConverter, setConverterContext, setDisabledBackground, setDisabledForeground, setEditable, setEditor, setEnabled, setFocusLostBehavior, setForeground, setHidePopupOnListDataChanged, setHorizontalAlignment, setKeepPopupSize, setModel, setPopupButton, setPopupCancelBehavior, setPopupType, setPopupVisible, setPopupVolatile, setPrototypeDisplayValue, setRenderer, setSelectedItem, setStretchToFit, setToggleValueOnDoubleClick, setType, setVerticalAlignment, showPopup, showPopupPanel, showPopupPanelAsPopup, undelegateKeyStrokes, uninstallListener, updateToolTipTextForChildren, updateUI, validateValueForNonEditable
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, 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, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, 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

PROPERTY_COLOR_MODE

public static final String PROPERTY_COLOR_MODE
See Also:
Constant Field Values

PROPERTY_SELECTED_COLOR

public static final String PROPERTY_SELECTED_COLOR
See Also:
Constant Field Values

PROPERTY_COLOR_VALUE_VISIBLE

public static final String PROPERTY_COLOR_VALUE_VISIBLE
See Also:
Constant Field Values

PROPERTY_COLOR_ICON_VISIBLE

public static final String PROPERTY_COLOR_ICON_VISIBLE
See Also:
Constant Field Values
Constructor Detail

ColorComboBox

public ColorComboBox()
Creates a new ColorComboBox using ColorChooserPanel with 40 colors.


ColorComboBox

public ColorComboBox(int palette)
Creates a new ColorComboBox.

Parameters:
palette - the palette
Method Detail

createEditorComponent

public AbstractComboBox.EditorComponent createEditorComponent()
Description copied from class: AbstractComboBox
Subclass should implement this method to create the actual editor component.

Specified by:
createEditorComponent in class AbstractComboBox
Returns:
the editor component

createPopupComponent

public PopupPanel createPopupComponent()
Creates a ColorChooserPanel as the popup. Below is the default implementation.

 ColorChooserPanel panel = new ColorChooserPanel(getColorMode(), isAllowMoreColors(), isAllowDefaultColor(),
 getLocale());
 panel.addPropertyChangeListener(ColorChooserPanel.PROPERTY_SELECTED_COLOR, this);
 

Subclass can override this method to provide your own ColorChooserPanel.

Specified by:
createPopupComponent in class AbstractComboBox
Returns:
a ColorChooserPanel.

propertyChange

public void propertyChange(PropertyChangeEvent evt)
This method is called when the color changes because of navigation keys.

Specified by:
propertyChange in interface PropertyChangeListener
Parameters:
evt - the PropertyChangeEvent

getColorMode

public int getColorMode()
Gets the color mode of the ColorComboBox.

Returns:
the color mode

setColorMode

public void setColorMode(int colorMode)
Sets the color mode of the ColorComboBox.

Parameters:
colorMode - the valid values for this parameter are ColorChooserPanel.PALETTE_COLOR_15, ColorChooserPanel.PALETTE_COLOR_40,ColorChooserPanel.PALETTE_COLOR_216, ColorChooserPanel.PALETTE_GRAY_16, ColorChooserPanel.PALETTE_GRAY_102, and ColorChooserPanel.PALETTE_GRAY_256. You can also use your customize color palette. In this case, it's better to override createPopupComponent() to create your own ColorChooserPanel.

isAllowDefaultColor

public boolean isAllowDefaultColor()
If the default color button is visible.

Returns:
true if the default color button is visible

setAllowDefaultColor

public void setAllowDefaultColor(boolean allowDefaultColor)
Sets the visibility of default color button.

Parameters:
allowDefaultColor - true if the default color button is visible

isAllowMoreColors

public boolean isAllowMoreColors()
If the more color button is visible.

Returns:
true if more color button is visible

setAllowMoreColors

public void setAllowMoreColors(boolean allowMoreColors)
Sets the visibility of more color button.

Parameters:
allowMoreColors - true if the more color button is visible

getSelectedColor

public Color getSelectedColor()
Gets selected color.

Returns:
the selected color

updateColorFromEditorComponent

protected void updateColorFromEditorComponent()

setSelectedColor

public void setSelectedColor(Color color)
Sets selected color.

Parameters:
color - the selected color

setSelectedItem

public void setSelectedItem(Object anObject,
                            boolean fireEvent)
                     throws IllegalArgumentException
Description copied from class: AbstractComboBox
Same as AbstractComboBox.setSelectedItem(Object) except you can choose to fire the ItemEvent or not.

Overrides:
setSelectedItem in class AbstractComboBox
Parameters:
anObject - the new value
fireEvent - true to fire event which is the same as AbstractComboBox.setSelectedItem(Object). False if you don't want to fire event.
Throws:
IllegalArgumentException

isCrossBackGroundStyle

public boolean isCrossBackGroundStyle()
Get the flag if ColorComboBox should still draw a cross in the color label

The default value now is false. But if you want to switch back to the original UI, you can set this flag to false.

Returns:
true if you want to switch back to the original cross back ground.

setCrossBackGroundStyle

public void setCrossBackGroundStyle(boolean crossBackGroundStyle)
Set the flag if ColorComboBox should still draw a cross in the color label

The default value now is false. But if you want to switch back to the original UI, you can set this flag to false.

Parameters:
crossBackGroundStyle - true if you want to switch back to the original cross back ground

isUseAlphaColorButtons

public boolean isUseAlphaColorButtons()
Get the flag indicating if the alpha value will change the display of the color buttons in the ColorChoosePanel.

By default, this flag is set to true to keep the behavior as before. If you want the color buttons stay the same no matter the alpha value is, please set this flag to false.

Returns:
the flag.

setUseAlphaColorButtons

public void setUseAlphaColorButtons(boolean useAlphaColorButtons)
Set the flag indicating if the alpha value will change the display of the color buttons in the ColorChoosePanel.

Parameters:
useAlphaColorButtons - the flag

getPreferredSize

public Dimension getPreferredSize()
Overrides:
getPreferredSize in class JComponent

isColorValueVisible

public boolean isColorValueVisible()
Checks if the color value is displayed.

Returns:
true if the color value is displayed.

setColorValueVisible

public void setColorValueVisible(boolean colorValueVisible)
Show or hide the color value. The color value is the text that is displayed after the color icon.

Please note, you shouldn't call setColorValueVisible(false) and setColorIconVisible(false). If you do that, we will display both color value and color icon.

Parameters:
colorValueVisible - true if the color value is visible

isColorIconVisible

public boolean isColorIconVisible()
Checks if the color icon is displayed.

Returns:
true if the color icon is displayed.

setColorIconVisible

public void setColorIconVisible(boolean colorIconVisible)
Show or hide the color icon. The color icon is at the beginning of the ColorComboBox where a color rectangle is painted.

Please note, you shouldn't call setColorValueVisible(false) and setColorIconVisible(false). If you do that, we will display both color value and color icon.

Parameters:
colorIconVisible - true if the color value is visible

isInvalidValueAllowed

public boolean isInvalidValueAllowed()
Checks if the invalid value is allowed.

Returns:
true or false.

setInvalidValueAllowed

public void setInvalidValueAllowed(boolean invalidValueAllowed)
Sets the flag if the invalid value is allowed to be entered into DateComboBox. If false (the default value), user must type a valid date string in the correct format. Otherwise, the focus lost or after enter is pressed, the invalid value will be reset. If true, the invalid string will be kept and set to the combobox using setSelectedItem. Developer can use getSelectedItem to retrieve the value. getDate or getCalendar will still return null as the value is not valid.

Parameters:
invalidValueAllowed - true or false.

JIDE 3.5.15