uk.ac.starlink.topcat
Class ColumnSelector

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by uk.ac.starlink.topcat.ColumnSelector
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class ColumnSelector
extends JComponent

Allows selection of a column from a table which represents a requested kind of value. The column may not actually exist in the table, but may be based on one that does, modified by a ColumnConverter.

Since:
6 Oct 2004
Author:
Mark Taylor (Starlink)
See Also:
ColumnSelectorModel, Serialized Form

Nested Class Summary
 
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
ColumnSelector(ColumnSelectorModel model, boolean showLabel)
          Constructs a new selector with a given data model.
ColumnSelector(uk.ac.starlink.table.ValueInfo info, boolean showLabel)
          Constructs a new selector ready to select columns corresponding to a given ValueInfo.
 
Method Summary
 void addActionListener(ActionListener listener)
          Adds a listener for changes on the state of this component.
 JComboBox getColumnComponent()
          Returns the component displaying selection of the actual column or expression.
 uk.ac.starlink.table.ColumnData getColumnData()
          Returns the (effective) column currently selected by the user.
 JLabel getLabel()
          Returns the label which annotates this selector (though it may or may not be displayed in this component according to how the constructor was called).
 ColumnSelectorModel getModel()
          Returns the model for this selector.
 String getStringValue()
          Returns the value of the selector as a string.
 JComboBox getUnitComponent()
          Returns the component displaying selection of the unit, if any.
 void removeActionListener(ActionListener listener)
          Removes a listener for changes on the state of this component.
 void setColumnData(uk.ac.starlink.table.ColumnData colData)
          Sets the currently selected column data value.
 void setEnabled(boolean enabled)
           
 void setModel(ColumnSelectorModel model)
          Sets the model for this selector.
 void setStringValue(String txt)
          Sets the value of the selector progrmmatically as a string.
 void setTable(TopcatModel tcModel)
          Convenience method which sets this selector's model to the one appropriate for its ValueInfo and the given TopcatModel.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
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

ColumnSelector

public ColumnSelector(uk.ac.starlink.table.ValueInfo info,
                      boolean showLabel)
Constructs a new selector ready to select columns corresponding to a given ValueInfo. It is initialised with no data model.

Parameters:
info - describes the columns to be selected by this component
showLabel - true iff you want the axis label to be displayed with the selectors

ColumnSelector

public ColumnSelector(ColumnSelectorModel model,
                      boolean showLabel)
Constructs a new selector with a given data model.

Parameters:
model - data model
showLabel - true iff you want the axis label to be displayed with the selectors
Method Detail

setModel

public void setModel(ColumnSelectorModel model)
Sets the model for this selector. model must have the same ValueInfo as the one this component was set up with.

Parameters:
model - new data model

setTable

public void setTable(TopcatModel tcModel)
Convenience method which sets this selector's model to the one appropriate for its ValueInfo and the given TopcatModel.

Parameters:
tcModel - table model

getColumnData

public uk.ac.starlink.table.ColumnData getColumnData()
Returns the (effective) column currently selected by the user. It takes into account the column and (if any) conversion selected by the user.

Returns:
ColumnData representing the currently-selected column, or null if none is selected

setColumnData

public void setColumnData(uk.ac.starlink.table.ColumnData colData)
Sets the currently selected column data value. Does not have to be to one of the values in the selection model.

Parameters:
colData - new column data selection

setStringValue

public void setStringValue(String txt)
Sets the value of the selector progrmmatically as a string. This should be a legal JEL expression in the context of the selector's table.

Parameters:
txt - text value

getStringValue

public String getStringValue()
Returns the value of the selector as a string.

Returns:
text value

getModel

public ColumnSelectorModel getModel()
Returns the model for this selector.

Returns:
data model

getLabel

public JLabel getLabel()
Returns the label which annotates this selector (though it may or may not be displayed in this component according to how the constructor was called).

Returns:
label annotating label

getColumnComponent

public JComboBox getColumnComponent()
Returns the component displaying selection of the actual column or expression.

Returns:
column selection component

getUnitComponent

public JComboBox getUnitComponent()
Returns the component displaying selection of the unit, if any.

Returns:
converter selection component

addActionListener

public void addActionListener(ActionListener listener)
Adds a listener for changes on the state of this component.

Parameters:
listener - listener to add

removeActionListener

public void removeActionListener(ActionListener listener)
Removes a listener for changes on the state of this component.

Parameters:
listener - listener to remove

setEnabled

public void setEnabled(boolean enabled)
Overrides:
setEnabled in class JComponent


Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.