com.alee.extended.colorchooser
Class WebColorChooserField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JTextField
                      extended by com.alee.laf.text.WebTextField
                          extended by com.alee.extended.colorchooser.WebColorChooserField
All Implemented Interfaces:
LanguageMethods, SettingsMethods, ToolTipMethods, ShapeProvider, DocumentEventMethods, EventMethods, FontMethods<WebTextField>, SizeMethods<WebTextField>, SwingMethods, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants

public class WebColorChooserField
extends WebTextField

Custom field that offers various ways to select Color. Color can be typed, selected from popup palette or using eyedropper tool.

Author:
Mikle Garin
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
 
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
protected  java.awt.Color color
          Currently selected color.
protected  WebButton colorButton
          UI elements.
protected  WebColorChooserPanel colorChooserPanel
           
protected  ColorDisplayType colorDisplayType
          Color display type.
protected  boolean displayEyedropper
          Whether should display eyedropper tool or not.
static javax.swing.ImageIcon eyedropperIcon
          Used icons.
protected  int eyedropperImagePixelSize
          Size of each pixel of eyedropper image displayed within popup.
protected  int eyedropperImageSide
          Size of the eyedropper image side displayed within popup in pixels.
protected  WebImage eyedropperPicker
           
protected  java.lang.String lastCorrectColorText
          Most recent valid color text.
protected  WebPopOver popup
           
protected  java.awt.Robot robot
           
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
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
WebColorChooserField()
           
WebColorChooserField(java.awt.Color color)
           
 
Method Summary
 void addColorListener(ChooserListener<java.awt.Color> listener)
          Adds new color selection listener.
 void fireColorSelected(java.awt.Color oldColor, java.awt.Color newColor)
          Informs about color selection.
 java.awt.Color getColor()
           
 ColorDisplayType getColorDisplayType()
           
protected  java.lang.String getColorText(java.awt.Color color)
           
protected  void installEyedropper()
           
 boolean isDisplayEyedropper()
           
 void removeColorListener(ChooserListener<java.awt.Color> listener)
          Removes color selection listener.
 void setColor(java.awt.Color color)
           
 void setColorDisplayType(ColorDisplayType colorDisplayType)
           
protected  void setColorImpl(java.awt.Color color)
           
 void setDisplayEyedropper(boolean displayEyedropper)
           
 void setDrawBorder(boolean drawBorder)
           
protected  void showColorChooserPopup()
          Color chooser popup
protected  void uninstallEyedropper()
           
protected  void updateColorFromField()
           
protected  void updateEyedropper()
          Eyedropper chooser
protected  void updateFieldType()
           
protected  void updateMargin()
           
protected  void updatePopupLocation()
           
protected  void updateText()
           
protected  void updateViewFromColor()
          protected update methods
 
Methods inherited from class com.alee.laf.text.WebTextField
addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, changeFontSize, clear, createWebTextField, createWebTextField, createWebTextField, createWebTextField, getFieldMargin, getFontName, getFontSize, getInputPrompt, getInputPromptFont, getInputPromptForeground, getInputPromptPosition, getLeadingComponent, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumWidth, getPainter, getPreferredHeight, getPreferredSize, getPreferredWidth, getRound, getShadeWidth, getTrailingComponent, getWebUI, isBoldFont, isDrawBackground, isDrawBorder, isDrawFocus, isDrawShade, isHideInputPromptOnFocus, isItalicFont, isLanguageSet, isPlainFont, isWebColored, loadSettings, onChange, onDoubleClick, onFocusGain, onFocusLoss, onKeyPress, onKeyPress, onKeyRelease, onKeyRelease, onKeyType, onKeyType, onMenuTrigger, onMouseClick, onMouseClick, onMouseDrag, onMouseDrag, onMouseEnter, onMouseExit, onMousePress, onMousePress, provideShape, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, removeLanguage, removeLanguageUpdater, removeToolTip, removeToolTips, removeToolTips, removeToolTips, saveSettings, setBoldFont, setBoldFont, setDrawBackground, setDrawFocus, setDrawShade, setFieldMargin, setFieldMargin, setFieldMargin, setFontName, setFontSize, setFontSizeAndStyle, setFontSizeAndStyle, setFontStyle, setFontStyle, setHideInputPromptOnFocus, setInputPrompt, setInputPromptFont, setInputPromptForeground, setInputPromptPosition, setItalicFont, setItalicFont, setLanguage, setLanguageUpdater, setLeadingComponent, setMargin, setMargin, setMaximumHeight, setMaximumWidth, setMinimumHeight, setMinimumWidth, setPainter, setPlainFont, setPlainFont, setPreferredHeight, setPreferredSize, setPreferredWidth, setRound, setShadeWidth, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setTrailingComponent, setWebColored, unregisterSettings, updateLanguage, updateLanguage, updateUI
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, viewToModel, write
 
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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, 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

eyedropperIcon

public static final javax.swing.ImageIcon eyedropperIcon
Used icons.


colorDisplayType

protected ColorDisplayType colorDisplayType
Color display type.

See Also:
ColorDisplayType

displayEyedropper

protected boolean displayEyedropper
Whether should display eyedropper tool or not.


eyedropperImageSide

protected final int eyedropperImageSide
Size of the eyedropper image side displayed within popup in pixels. Each of these pixels will also be enlarged according to eyedropperImagePixelSize value.

See Also:
Constant Field Values

eyedropperImagePixelSize

protected final int eyedropperImagePixelSize
Size of each pixel of eyedropper image displayed within popup.

See Also:
Constant Field Values

lastCorrectColorText

protected java.lang.String lastCorrectColorText
Most recent valid color text.


color

protected java.awt.Color color
Currently selected color.


colorButton

protected final WebButton colorButton
UI elements.


robot

protected java.awt.Robot robot

eyedropperPicker

protected WebImage eyedropperPicker

popup

protected WebPopOver popup

colorChooserPanel

protected WebColorChooserPanel colorChooserPanel
Constructor Detail

WebColorChooserField

public WebColorChooserField()

WebColorChooserField

public WebColorChooserField(java.awt.Color color)
Method Detail

isDisplayEyedropper

public boolean isDisplayEyedropper()

setDisplayEyedropper

public void setDisplayEyedropper(boolean displayEyedropper)

getColor

public java.awt.Color getColor()

setColor

public void setColor(java.awt.Color color)

setColorImpl

protected void setColorImpl(java.awt.Color color)

getColorDisplayType

public ColorDisplayType getColorDisplayType()

setColorDisplayType

public void setColorDisplayType(ColorDisplayType colorDisplayType)

setDrawBorder

public void setDrawBorder(boolean drawBorder)
Overrides:
setDrawBorder in class WebTextField

updateViewFromColor

protected void updateViewFromColor()
protected update methods


updateColorFromField

protected void updateColorFromField()

updateFieldType

protected void updateFieldType()

updateText

protected void updateText()

getColorText

protected java.lang.String getColorText(java.awt.Color color)

updateMargin

protected void updateMargin()

updateEyedropper

protected void updateEyedropper()
Eyedropper chooser


installEyedropper

protected void installEyedropper()

uninstallEyedropper

protected void uninstallEyedropper()

showColorChooserPopup

protected void showColorChooserPopup()
Color chooser popup


updatePopupLocation

protected void updatePopupLocation()

addColorListener

public void addColorListener(ChooserListener<java.awt.Color> listener)
Adds new color selection listener.

Parameters:
listener - new color selection listener

removeColorListener

public void removeColorListener(ChooserListener<java.awt.Color> listener)
Removes color selection listener.

Parameters:
listener - color selection listener to remove

fireColorSelected

public void fireColorSelected(java.awt.Color oldColor,
                              java.awt.Color newColor)
Informs about color selection.

Parameters:
oldColor - previously selected Color
newColor - new selected Color