public class ColorPalette extends JPanel
ColorPicker
that depicts a wide range of
colors.
This panel can operate in 6 different modes. In each mode a different property is held constant:
hue, saturation, brightness, red, green, or blue. (Each property is identified with a constant in
the ColorPicker
class, such as: ColorPicker.HUE
or
ColorPicker.GREEN
.)
In saturation and brightness mode, a wheel is used. Although it doesn't use as many pixels as a square does: it is a very aesthetic model since the hue can wrap around in a complete circle. (Also, on top of looks, this is how most people learn to think the color spectrum, so it has that advantage, too). In all other modes a square is used.
The user can click in this panel to select a new color. The selected color is highlighted with a circle drawn around it. Also once this component has the keyboard focus, the user can use the arrow keys to traverse the available colors.
Note this component is public and exists independently of the ColorPicker
class. The
only way this class is dependent on the ColorPicker
class is when the constants for
the modes are used.
The graphic in this panel will be based on either the width or the height of this component: depending on which is smaller.
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static int |
MAX_SIZE
The maximum size the graphic will be.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ColorPalette()
Creates a new
ColorPickerPanel |
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(ChangeListener l)
This listener will be notified when the current HSB or RGB values change.
|
protected void |
fireChangeListeners() |
float[] |
getHSB() |
float[] |
getHSB(Point p)
Returns the color at the indicated point in HSB values.
|
int[] |
getRGB() |
int[] |
getRGB(Point p)
Returns the color at the indicated point in RGB values.
|
boolean |
isSyncPaletteToSatBri() |
void |
paint(Graphics g) |
void |
removeChangeListener(ChangeListener l)
Remove a
ChangeListener so it is no longer notified when the selected color
changes. |
void |
setHSB(float h,
float s,
float b)
Sets the selected color of this panel.
|
void |
setMode(ColorPicker.Mode mode)
Set the mode of this panel.
|
void |
setRGB(int r,
int g,
int b)
Sets the selected color of this panel.
|
void |
setSyncPaletteToSatBri(boolean syncPaletteToSatBri)
Set whether the palette should follow the saturation or brightness setting in the modes
ColorPicker.Mode.Saturation and ColorPicker.Mode.Brightness . |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, 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
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
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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, transferFocusBackward, transferFocusUpCycle
public static final int MAX_SIZE
(This is enforced because only 1 BufferedImage is used to render the graphic. This image is created once at a fixed size and is never replaced.)
public void addChangeListener(ChangeListener l)
public void removeChangeListener(ChangeListener l)
ChangeListener
so it is no longer notified when the selected color
changes.protected void fireChangeListeners()
public void paint(Graphics g)
paint
in class JComponent
public void setMode(ColorPicker.Mode mode)
mode
- This must be one of the following constants from the ColorPicker
class: HUE
, SAT
, BRI
, RED
,
GREEN
, or BLUE
public void setRGB(int r, int g, int b)
If this panel is in HUE, SAT, or BRI mode, then this method converts these values to HSB
coordinates and calls setHSB
.
This method may regenerate the graphic if necessary.
r
- the red value of the selected color.g
- the green value of the selected color.b
- the blue value of the selected color.public float[] getHSB()
public int[] getRGB()
public float[] getHSB(Point p)
p
- a point relative to this panel.public int[] getRGB(Point p)
p
- a point relative to this panel.public void setHSB(float h, float s, float b)
If this panel is in RED, GREEN, or BLUE mode, then this method converts these values to RGB
coordinates and calls setRGB
.
This method may regenerate the graphic if necessary.
h
- the hue value of the selected color.s
- the saturation value of the selected color.b
- the brightness value of the selected color.public void setSyncPaletteToSatBri(boolean syncPaletteToSatBri)
ColorPicker.Mode.Saturation
and ColorPicker.Mode.Brightness
. If false
, the palette is
fixed at maximum saturation and brightness.syncPaletteToSatBri
- public boolean isSyncPaletteToSatBri()
Copyright © 2024 levigo holding gmbh. All rights reserved.