visad.util
Class ChosenColorWidget

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 visad.util.ChosenColorWidget
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class ChosenColorWidget
extends JPanel
implements ActionListener

A color widget that allows users to interactively map numeric data to RGB/RGBA tuples in a ScalarMap, and to choose from a drop-down list of canned colormap combinations.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
ChosenColorWidget(ColorMapWidget w)
          Wrap a ChosenColorWidget around the specified ColorMapWidget.
ChosenColorWidget(ScalarMap smap)
          Construct a ChosenColorWidget linked to the color control in the ScalarMap (which must be to either Display.RGB or Display.RGBA and already have been added to a Display).
 
Method Summary
 void actionPerformed(ActionEvent evt)
          Handle selections from the JComboBox.
 void addGreyWedgeItem()
          Add the standard "Grey Wedge" item to the list of choices.
 void addItem(String name, float[][] table)
          Add a color lookup table to the list of choices.
 Dimension getMaximumSize()
          Stub routine which calls ColorMapWidget.getMaximumSize().
 Dimension getMinimumSize()
          Stub routine which calls ColorMapWidget.getMinimumSize().
 int getNumberOfRows()
          Return the number of rows in the table (3 for an RGB-based table, 4 for an RGBA-based table.)
 Dimension getPreferredSize()
          Stub routine which calls ColorMapWidget.getPreferredSize().
 int getRowLength()
          Return the table's "resolution" (aka the length of its rows.)
static void main(String[] args)
           
 void setMaximumSize(Dimension size)
          Stub routine which calls ColorMapWidget.setMaximumSize().
 void setMinimumSize(Dimension size)
          Stub routine which calls ColorMapWidget.setMinimumSize().
 void setPreferredSize(Dimension size)
          Stub routine which calls ColorMapWidget.setPreferredSize().
 
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, 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, 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, setNextFocusableComponent, setOpaque, 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
 

Constructor Detail

ChosenColorWidget

public ChosenColorWidget(ScalarMap smap)
                  throws VisADException,
                         RemoteException
Construct a ChosenColorWidget linked to the color control in the ScalarMap (which must be to either Display.RGB or Display.RGBA and already have been added to a Display). It will be labeled with the name of the ScalarMap's RealType and linked to the ScalarMap's color control. The range of RealType values mapped to color is taken from the ScalarMap's range - this allows a color widget to be used with a range of values defined by auto-scaling from displayed data.

Parameters:
smap - ScalarMap to which this widget is bound.
Throws:
RemoteException - If there is an RMI-related problem.
VisADException - If there is a problem initializing the widget.

ChosenColorWidget

public ChosenColorWidget(ColorMapWidget w)
Wrap a ChosenColorWidget around the specified ColorMapWidget.

Parameters:
w - The ColorMapWidget.
Method Detail

getNumberOfRows

public int getNumberOfRows()
                    throws VisADException
Return the number of rows in the table (3 for an RGB-based table, 4 for an RGBA-based table.)

Returns:
The number of rows.
Throws:
VisADException - If the size of the current table cannot be determined.

getRowLength

public int getRowLength()
                 throws VisADException
Return the table's "resolution" (aka the length of its rows.)

Returns:
The row length.
Throws:
VisADException - If the size of the current table cannot be determined.

addGreyWedgeItem

public void addGreyWedgeItem()
                      throws VisADException
Add the standard "Grey Wedge" item to the list of choices.

Throws:
VisADException - If the size of the current table cannot be determined.

addItem

public void addItem(String name,
                    float[][] table)
             throws VisADException
Add a color lookup table to the list of choices.

Parameters:
name - Name of this table.
table - Table of colors.
Throws:
VisADException - If there is a problem with the table.

actionPerformed

public void actionPerformed(ActionEvent evt)
Handle selections from the JComboBox.

Specified by:
actionPerformed in interface ActionListener
Parameters:
evt - Data from the selected choice.

getMaximumSize

public Dimension getMaximumSize()
Stub routine which calls ColorMapWidget.getMaximumSize().

Overrides:
getMaximumSize in class JComponent
Returns:
Maximum size in Dimension.

setMaximumSize

public void setMaximumSize(Dimension size)
Stub routine which calls ColorMapWidget.setMaximumSize().

Overrides:
setMaximumSize in class JComponent
Parameters:
size - Maximum size.

getMinimumSize

public Dimension getMinimumSize()
Stub routine which calls ColorMapWidget.getMinimumSize().

Overrides:
getMinimumSize in class JComponent
Returns:
Minimum size in Dimension.

setMinimumSize

public void setMinimumSize(Dimension size)
Stub routine which calls ColorMapWidget.setMinimumSize().

Overrides:
setMinimumSize in class JComponent
Parameters:
size - Minimum size.

getPreferredSize

public Dimension getPreferredSize()
Stub routine which calls ColorMapWidget.getPreferredSize().

Overrides:
getPreferredSize in class JComponent
Returns:
Preferred size in Dimension.

setPreferredSize

public void setPreferredSize(Dimension size)
Stub routine which calls ColorMapWidget.setPreferredSize().

Overrides:
setPreferredSize in class JComponent
Parameters:
size - Preferred size.

main

public static void main(String[] args)