visad.util
Class LabeledColorWidget

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.LabeledColorWidget
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
Direct Known Subclasses:
LabeledRGBAWidget, LabeledRGBWidget

public class LabeledColorWidget
extends JPanel
implements ActionListener

A color widget that allows users to interactively map numeric data to RGB/RGBA tuples in a ScalarMap.

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
LabeledColorWidget(ColorMapWidget w)
           
LabeledColorWidget(ScalarMap smap)
          Construct a LabeledColorWidget 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).
LabeledColorWidget(ScalarMap smap, float[][] table)
          Construct a LabeledColorWidget 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).
LabeledColorWidget(ScalarMap smap, float[][] in_table, boolean update)
          Construct a LabeledColorWidget 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).
LabeledColorWidget(ScalarMap smap, float min, float max)
          Deprecated. - 'min' and 'max' are ignored
LabeledColorWidget(ScalarMap smap, float min, float max, float[][] table)
          Deprecated. - 'min' and 'max' are ignored
 
Method Summary
 void actionPerformed(ActionEvent evt)
          Handle button presses.
 BaseRGBMap getBaseMap()
           
 Dimension getMaximumSize()
          Stub routine which calls ColorMapWidget.getMaximumSize().
 Dimension getMinimumSize()
          Stub routine which calls ColorMapWidget.getMinimumSize().
 Dimension getPreferredSize()
          Stub routine which calls ColorMapWidget.getPreferredSize().
 ColorPreview getPreview()
           
 ArrowSlider getSlider()
           
 float[][] getTable()
          Gets the widget's current table.
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().
 void setTable(float[][] table)
          Use a new table of color values.
 
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

LabeledColorWidget

public LabeledColorWidget(ScalarMap smap)
                   throws VisADException,
                          RemoteException
Construct a LabeledColorWidget 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.

LabeledColorWidget

public LabeledColorWidget(ScalarMap smap,
                          float min,
                          float max)
                   throws VisADException,
                          RemoteException
Deprecated. - 'min' and 'max' are ignored

This method is deprecated, since min and max are ignored.

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

LabeledColorWidget

public LabeledColorWidget(ScalarMap smap,
                          float[][] table)
                   throws VisADException,
                          RemoteException
Construct a LabeledColorWidget 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. The initial color table (if non-null) should be a float[resolution][dimension], where dimension is either 3 for Display.RGB or 4 for Display.RGB) with values between 0.0f and 1.0f.

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

LabeledColorWidget

public LabeledColorWidget(ScalarMap smap,
                          float min,
                          float max,
                          float[][] table)
                   throws VisADException,
                          RemoteException
Deprecated. - 'min' and 'max' are ignored

This method is deprecated, since min and max are ignored.

Parameters:
smap - ScalarMap to which this widget is bound.
min - Ignored value.
max - Ignored value.
table - Initial color lookup table.
Throws:
RemoteException - If there is an RMI-related problem.
VisADException - If there is a problem initializing the widget.

LabeledColorWidget

public LabeledColorWidget(ScalarMap smap,
                          float[][] in_table,
                          boolean update)
                   throws VisADException,
                          RemoteException
Construct a LabeledColorWidget 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. The initial color table (if non-null) should be a float[resolution][dimension], where dimension is either 3 for Display.RGB or 4 for Display.RGB) with values between 0.0f and 1.0f.

Parameters:
smap - ScalarMap to which this widget is bound.
in_table - Initial color lookup table.
update - true if the slider should follow the ScalarMap's range.
Throws:
RemoteException - If there is an RMI-related problem.
VisADException - If there is a problem initializing the widget.

LabeledColorWidget

public LabeledColorWidget(ColorMapWidget w)
Method Detail

actionPerformed

public void actionPerformed(ActionEvent evt)
Handle button presses.

Specified by:
actionPerformed in interface ActionListener
Parameters:
evt - Data from the changed JButton.

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.

getBaseMap

public BaseRGBMap getBaseMap()

getPreview

public ColorPreview getPreview()

getSlider

public ArrowSlider getSlider()

setTable

public void setTable(float[][] table)
Use a new table of color values. If immediate mode is off, changes to the associated color control are not applied until the Apply button is clicked.

Parameters:
table - New color values.

getTable

public float[][] getTable()
Gets the widget's current table. If immediate mode is off, it may not match the linked color control's table.


main

public static void main(String[] args)