org.jhotdraw.color
Class JColorWheel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.jhotdraw.color.JColorWheel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
JHarmonicColorWheel

public class JColorWheel
extends javax.swing.JPanel

The JColorWheel displays a wheel made of two components of a ColorSpace.

The user can click at the wheel to pick a color.

The JColorWheel should be used together with a color slider for the remaining color component(s) of the color system.

Version:
$Id: JColorWheel.java 647 2010-01-24 22:52:59Z rawcoder $
Author:
Werner Randelshofer
See Also:
Serialized Form

Nested Class Summary
private  class JColorWheel.ModelHandler
           
private  class JColorWheel.MouseHandler
           
static class JColorWheel.Type
           
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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  int angularIndex
          Angular color component index.
protected  java.awt.Image colorWheelImage
           
protected  AbstractColorWheelImageProducer colorWheelProducer
           
private  boolean isFlipX
           
private  boolean isFlipY
           
protected  ColorSliderModel model
           
private  JColorWheel.ModelHandler modelHandler
           
private  JColorWheel.MouseHandler mouseHandler
           
protected  int radialIndex
          Radial color component index.
private  java.awt.color.ColorSpace sys
           
private  JColorWheel.Type type
           
protected  int verticalIndex
          Vertical color component index.
protected  java.awt.Insets wheelInsets
           
 
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
JColorWheel()
          Creates a new instance.
JColorWheel(java.awt.color.ColorSpace sys)
           
 
Method Summary
protected  AbstractColorWheelImageProducer createWheelProducer(int w, int h)
           
protected  java.awt.Point getCenter()
           
protected  float[] getColorAt(int x, int y)
           
protected  java.awt.Point getColorLocation(java.awt.Color c)
           
protected  java.awt.Point getColorLocation(float[] components)
           
 ColorSliderModel getModel()
           
 java.awt.Dimension getPreferredSize()
           
protected  int getRadius()
           
protected  java.awt.Point getThumbLocation()
           
 java.awt.Insets getWheelInsets()
           
private  void initComponents()
          This method is called from within the constructor to initialize the form.
protected  void installMouseListeners()
           
 boolean isFlipX()
           
 boolean isFlipY()
           
 void paintComponent(java.awt.Graphics gr)
           
protected  void paintThumb(java.awt.Graphics2D g)
           
protected  void paintWheel(java.awt.Graphics2D g)
           
 void setAngularComponentIndex(int newValue)
           
 void setFlipX(boolean newValue)
           
 void setFlipY(boolean newValue)
           
 void setModel(ColorSliderModel m)
           
 void setRadialComponentIndex(int newValue)
           
 void setType(JColorWheel.Type type)
           
 void setVerticalComponentIndex(int newValue)
           
 void setWheelInsets(java.awt.Insets newValue)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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 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, 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, 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

isFlipX

private boolean isFlipX

isFlipY

private boolean isFlipY

type

private JColorWheel.Type type

sys

private java.awt.color.ColorSpace sys

wheelInsets

protected java.awt.Insets wheelInsets

colorWheelImage

protected java.awt.Image colorWheelImage

colorWheelProducer

protected AbstractColorWheelImageProducer colorWheelProducer

model

protected ColorSliderModel model

radialIndex

protected int radialIndex
Radial color component index.


angularIndex

protected int angularIndex
Angular color component index.


verticalIndex

protected int verticalIndex
Vertical color component index.


mouseHandler

private JColorWheel.MouseHandler mouseHandler

modelHandler

private JColorWheel.ModelHandler modelHandler
Constructor Detail

JColorWheel

public JColorWheel()
Creates a new instance.


JColorWheel

public JColorWheel(java.awt.color.ColorSpace sys)
Method Detail

setType

public void setType(JColorWheel.Type type)

installMouseListeners

protected void installMouseListeners()

setModel

public void setModel(ColorSliderModel m)

setRadialComponentIndex

public void setRadialComponentIndex(int newValue)

setAngularComponentIndex

public void setAngularComponentIndex(int newValue)

setVerticalComponentIndex

public void setVerticalComponentIndex(int newValue)

setWheelInsets

public void setWheelInsets(java.awt.Insets newValue)

getWheelInsets

public java.awt.Insets getWheelInsets()

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

getModel

public ColorSliderModel getModel()

paintComponent

public void paintComponent(java.awt.Graphics gr)
Overrides:
paintComponent in class javax.swing.JComponent

setFlipX

public void setFlipX(boolean newValue)

setFlipY

public void setFlipY(boolean newValue)

isFlipX

public boolean isFlipX()

isFlipY

public boolean isFlipY()

createWheelProducer

protected AbstractColorWheelImageProducer createWheelProducer(int w,
                                                              int h)

paintWheel

protected void paintWheel(java.awt.Graphics2D g)

paintThumb

protected void paintThumb(java.awt.Graphics2D g)

getCenter

protected java.awt.Point getCenter()

getRadius

protected int getRadius()

getThumbLocation

protected java.awt.Point getThumbLocation()

getColorLocation

protected java.awt.Point getColorLocation(java.awt.Color c)

getColorLocation

protected java.awt.Point getColorLocation(float[] components)

getColorAt

protected float[] getColorAt(int x,
                             int y)

initComponents

private void initComponents()
This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.