Class AbstractColorChooserPanel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
public abstract class AbstractColorChooserPanel
extends JPanel

This is the abstract superclass for color choosers. If you want to add a new color chooser panel into a JColorChooser, subclass this class.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see XMLEncoder.

See Also:
Serialized Form

Nested Class Summary

Nested classes/interfaces declared in class javax.swing.JPanel

JPanel.AccessibleJPanel

Nested classes/interfaces declared in class javax.swing.JComponent

JComponent.AccessibleJComponent

Nested classes/interfaces declared in class java.awt.Container

Container.AccessibleAWTContainer

Nested classes/interfaces declared in class java.awt.Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Field Summary

Fields
Modifier and Type Field Description
static String TRANSPARENCY_ENABLED_PROPERTY

Identifies that the transparency of the color (alpha value) can be selected

Fields declared in class javax.swing.JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Fields declared in class java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Fields declared in interface java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Constructor Summary

Constructors
Constructor Description
AbstractColorChooserPanel()

Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
Modifier and Type Method Description
protected abstract void buildChooser()

Builds a new chooser panel.

protected Color getColorFromModel()

Returns the color that is currently selected.

ColorSelectionModel getColorSelectionModel()

Returns the model that the chooser panel is editing.

int getDisplayedMnemonicIndex()

Provides a hint to the look and feel as to the index of the character in getDisplayName that should be visually identified as the mnemonic.

abstract String getDisplayName()

Returns a string containing the display name of the panel.

abstract Icon getLargeDisplayIcon()

Returns the large display icon for the panel.

int getMnemonic()

Provides a hint to the look and feel as to the KeyEvent.VK constant that can be used as a mnemonic to access the panel.

abstract Icon getSmallDisplayIcon()

Returns the small display icon for the panel.

void installChooserPanel​(JColorChooser enclosingChooser)

Invoked when the panel is added to the chooser.

boolean isColorTransparencySelectionEnabled()

Gets whether color chooser panel allows to select the transparency (alpha value) of a color.

void paint​(Graphics g)

Draws the panel.

void setColorTransparencySelectionEnabled​(boolean b)

Sets whether color chooser panel allows to select the transparency (alpha value) of a color.

void uninstallChooserPanel​(JColorChooser enclosingChooser)

Invoked when the panel is removed from the chooser.

abstract void updateChooser()

Invoked automatically when the model's state changes.

Methods declared in class javax.swing.JPanel

getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI

Methods declared in class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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

Methods declared in 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, transferFocusDownCycle, validate, validateTree

Methods declared in 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

TRANSPARENCY_ENABLED_PROPERTY

public static final String TRANSPARENCY_ENABLED_PROPERTY

Identifies that the transparency of the color (alpha value) can be selected

See Also:
Constant Field Values

Constructor Detail

AbstractColorChooserPanel

public AbstractColorChooserPanel()

Method Detail

updateChooser

public abstract void updateChooser()

Invoked automatically when the model's state changes. It is also called by installChooserPanel to allow you to set up the initial state of your chooser. Override this method to update your ChooserPanel.

buildChooser

protected abstract void buildChooser()

Builds a new chooser panel.

getDisplayName

public abstract String getDisplayName()

Returns a string containing the display name of the panel.

Returns:
the name of the display panel

getMnemonic

public int getMnemonic()

Provides a hint to the look and feel as to the KeyEvent.VK constant that can be used as a mnemonic to access the panel. A return value <= 0 indicates there is no mnemonic.

The return value here is a hint, it is ultimately up to the look and feel to honor the return value in some meaningful way.

This implementation returns 0, indicating the AbstractColorChooserPanel does not support a mnemonic, subclasses wishing a mnemonic will need to override this.

Returns:
KeyEvent.VK constant identifying the mnemonic; <= 0 for no mnemonic
Since:
1.4
See Also:
getDisplayedMnemonicIndex()

getDisplayedMnemonicIndex

public int getDisplayedMnemonicIndex()

Provides a hint to the look and feel as to the index of the character in getDisplayName that should be visually identified as the mnemonic. The look and feel should only use this if getMnemonic returns a value > 0.

The return value here is a hint, it is ultimately up to the look and feel to honor the return value in some meaningful way. For example, a look and feel may wish to render each AbstractColorChooserPanel in a JTabbedPane, and further use this return value to underline a character in the getDisplayName.

This implementation returns -1, indicating the AbstractColorChooserPanel does not support a mnemonic, subclasses wishing a mnemonic will need to override this.

Returns:
Character index to render mnemonic for; -1 to provide no visual identifier for this panel.
Since:
1.4
See Also:
getMnemonic()

getSmallDisplayIcon

public abstract Icon getSmallDisplayIcon()

Returns the small display icon for the panel.

Returns:
the small display icon

getLargeDisplayIcon

public abstract Icon getLargeDisplayIcon()

Returns the large display icon for the panel.

Returns:
the large display icon

installChooserPanel

public void installChooserPanel​(JColorChooser enclosingChooser)

Invoked when the panel is added to the chooser. If you override this, be sure to call super.

Parameters:
enclosingChooser - the chooser to which the panel is to be added
Throws:
RuntimeException - if the chooser panel has already been installed

uninstallChooserPanel

public void uninstallChooserPanel​(JColorChooser enclosingChooser)

Invoked when the panel is removed from the chooser. If override this, be sure to call super.

Parameters:
enclosingChooser - the chooser from which the panel is to be removed

getColorSelectionModel

public ColorSelectionModel getColorSelectionModel()

Returns the model that the chooser panel is editing.

Returns:
the ColorSelectionModel model this panel is editing

getColorFromModel

protected Color getColorFromModel()

Returns the color that is currently selected.

Returns:
the Color that is selected

setColorTransparencySelectionEnabled

@BeanProperty(description="Sets the transparency of a color selection on or off.")
public void setColorTransparencySelectionEnabled​(boolean b)

Sets whether color chooser panel allows to select the transparency (alpha value) of a color. This method fires a property-changed event, using the string value of TRANSPARENCY_ENABLED_PROPERTY as the name of the property.

The value is a hint and may not be applicable to all types of chooser panel.

The default value is true.

Parameters:
b - true if the transparency of a color can be selected
See Also:
isColorTransparencySelectionEnabled()

isColorTransparencySelectionEnabled

public boolean isColorTransparencySelectionEnabled()

Gets whether color chooser panel allows to select the transparency (alpha value) of a color.

Returns:
true if the transparency of a color can be selected
See Also:
setColorTransparencySelectionEnabled(boolean)

paint

public void paint​(Graphics g)

Draws the panel.

Overrides:
paint in class JComponent
Parameters:
g - the Graphics object
See Also:
JComponent.paintComponent(java.awt.Graphics), JComponent.paintBorder(java.awt.Graphics), JComponent.paintChildren(java.awt.Graphics), JComponent.getComponentGraphics(java.awt.Graphics), JComponent.repaint(long, int, int, int, int)