jfig.gui
Class ColorStateButton

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Canvas
          extended byjfig.gui.StateButton
              extended byjfig.gui.ColorStateButton
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 ColorStateButton
extends StateButton
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 ColorStateButton.SelectColorDialog
          inner class to display a dialog window for direct color selection.
 
Nested classes inherited from class jfig.gui.StateButton
StateButton.SelectDialog
 
Nested classes inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
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)  ColorStateButton.SelectColorDialog selectColorDialog
           
 
Fields inherited from class jfig.gui.StateButton
actionListener, backgroundColor, debug, height, helper, helpMessage, images, img_height, img_width, label, mouseInside, objs, parent, sd, state, UPDATE_RECT_SIZE, updateMode, updateStatus, width
 
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
ColorStateButton(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.lang.String getColorName(int index)
           
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.StateButton
addActionListener, calculateSize, createActionEvent, findParentFrame, getLabel, getMinimumSize, getObject, getPreferredSize, getState, getUpdateMode, getUpdateStatus, mouseClicked, mouseEntered, mouseExited, mouseReleased, paint, paintOLD, setBackgroundColor, setState, setUpdateMode, setUpdateStatus
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
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

ColorStateButton.SelectColorDialog selectColorDialog
Constructor Detail

ColorStateButton

public ColorStateButton(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.


getColorName

public java.lang.String getColorName(int index)

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.


mousePressed

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

toString

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

Overrides:
toString in class StateButton

main

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