jfig.gui
Class JColorButton

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byjfig.gui.JStateButton
                      extended byjfig.gui.JColorButton
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.io.Serializable

public class JColorButton
extends JStateButton
implements java.awt.event.MouseListener

a button to select FIG draw/fill colors.

This button implements the xfig-style behaviour to select colors: left button opens a dialog window for direct color selection, middle and right button select the previous and next color. Note that the "state" variable of our parent class directly represents thei index of the selected color.

See Also:
Serialized Form

Nested Class Summary
(package private)  class JColorButton.SelectColorDialog
          inner class to display a dialog window for direct color selection.
 
Nested classes inherited from class jfig.gui.JStateButton
JStateButton.SelectDialog
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  ColorCache colorCache
           
(package private)  JColorButton.SelectColorDialog selectColorDialog
           
(package private)  long timestamp
           
 
Fields inherited from class jfig.gui.JStateButton
actionListener, debug, height, helper, helpMessage, images, img_height, img_width, label, mouseInside, objs, parent, sd, state, ttt, UPDATE_RECT_SIZE, updateMode, updateStatus, width
 
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.Container
 
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
JColorButton(java.awt.Component parent, java.lang.String label, StatusMessage helper, java.lang.String helpMessage)
           
 
Method Summary
 void createColorImages()
          (re)create our image array, one 20x20 pixel image per color currently defined in the ColorCache.
 java.awt.Color getColor()
          return the value of the current button state.
 int getColorIndex()
          return the FIG 3.1 color number for the current button color
 java.awt.Dialog getDialog()
          return a reference to our SelectColorDialog, or null if this has not yet been created.
static void main(java.lang.String[] argv)
          simple selftest
 void mousePressed(java.awt.event.MouseEvent evt)
           
 void selectColor(java.awt.Color c)
          select a given Color (by AWT Color value) and display it in the center of the button.
 void selectColor(int index)
          select a given Color (by FIG color index) and display it in the center of the button.
 java.lang.String toString()
          the usual info method
 
Methods inherited from class jfig.gui.JStateButton
addActionListener, calculateSize, checkCreateMouseWheelHandler, createActionEvent, disableToolTip, findParentFrame, getLabel, getMinimumSize, getObject, getPreferredSize, getState, getToolTipLocation, getUpdateMode, getUpdateStatus, mouseClicked, mouseEntered, mouseExited, mouseReleased, paintComponent, paintOLD, reEnableToolTip, setBackgroundColor, setState, setUpdateMode, setUpdateStatus
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.event.MouseListener
mouseClicked, mouseEntered, mouseExited, mouseReleased
 

Field Detail

colorCache

ColorCache colorCache

selectColorDialog

JColorButton.SelectColorDialog selectColorDialog

timestamp

long timestamp
Constructor Detail

JColorButton

public JColorButton(java.awt.Component parent,
                    java.lang.String label,
                    StatusMessage helper,
                    java.lang.String helpMessage)
Method Detail

createColorImages

public void createColorImages()
(re)create our image array, one 20x20 pixel image per color currently defined in the ColorCache.


getColor

public java.awt.Color getColor()
return the value of the current button state.


getColorIndex

public int getColorIndex()
return the FIG 3.1 color number for the current button color


selectColor

public void selectColor(int index)
select a given Color (by FIG color index) and display it in the center of the button.


selectColor

public void selectColor(java.awt.Color c)
select a given Color (by AWT Color value) and display it in the center of the button.


getDialog

public java.awt.Dialog getDialog()
return a reference to our SelectColorDialog, or null if this has not yet been created.

Overrides:
getDialog in class JStateButton

mousePressed

public void mousePressed(java.awt.event.MouseEvent evt)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class JStateButton

toString

public java.lang.String toString()
the usual info method

Overrides:
toString in class JStateButton

main

public static void main(java.lang.String[] argv)
simple selftest