ucar.unidata.ui
Class RadioButtonFileSelector

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by ucar.unidata.ui.RadioButtonFileSelector
All Implemented Interfaces:
ActionListener, ImageObserver, ItemSelectable, MenuContainer, Serializable, EventListener, Accessible, ScrollPaneConstants

public class RadioButtonFileSelector
extends JScrollPane
implements ActionListener, ItemSelectable

A ScrollPane that presents a list of file names as a series of JRadioButtons. When a button is selected, an ItemEvent.SELECTED event is thrown. The default layout is 4 columns, but this can be changed in the constructor or by using the setColumns method.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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 javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RadioButtonFileSelector(String title)
          Construct an empty RadioButtonFileSelector with the specified Border title and the default number of columns
RadioButtonFileSelector(String[] buttonNames)
          Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and default number of columns.
RadioButtonFileSelector(String[] buttonNames, int columns)
          Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and the specified number of columns.
RadioButtonFileSelector(String title, int columns)
          Construct an empty RadioButtonFileSelector with the specified Border title and the specified number of columns
RadioButtonFileSelector(String title, String[] buttonNames)
          Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and default number of rows.
RadioButtonFileSelector(String title, String[] buttonNames, int columns)
          Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and set the number of columns of buttons per row.
 
Method Summary
 void actionPerformed(ActionEvent e)
          ActionListener method
 void addItemListener(ItemListener l)
          Adds the specified item listener to receive item events from this ojbect.
 void clearEntries()
          Clear the entries in the panel
protected  void fireItemStateChanged(ItemEvent e)
          Notify ItemListeners when a radio button is selected
 Object[] getSelectedObjects()
          Returns an array (length 1) containing the selected radio button or null if no radio buttons are selected.
static void main(String[] args)
          Run "java ucar.unidata.ui.RadioButtonFileSelector" to test
 void removeItemListener(ItemListener l)
          Removes the specified item listener so that the item listener no longer receives item events from this object.
 void setButtonList(String[] buttonNames)
          Set the list of buttons
 void setColumns(int columns)
          Set the number of columns in this panel
 void setTitle(String title)
          Set the border title
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, 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, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, 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, 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, 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, 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, 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

RadioButtonFileSelector

public RadioButtonFileSelector(String title)
Construct an empty RadioButtonFileSelector with the specified Border title and the default number of columns

Parameters:
title - selector title

RadioButtonFileSelector

public RadioButtonFileSelector(String title,
                               int columns)
Construct an empty RadioButtonFileSelector with the specified Border title and the specified number of columns

Parameters:
title - selector title
columns - number of columns per row.

RadioButtonFileSelector

public RadioButtonFileSelector(String[] buttonNames)
Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and default number of columns.

Parameters:
buttonNames - list of the names of the buttons

RadioButtonFileSelector

public RadioButtonFileSelector(String[] buttonNames,
                               int columns)
Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and the specified number of columns.

Parameters:
buttonNames - list of the names of the buttons
columns - number of columns per row.

RadioButtonFileSelector

public RadioButtonFileSelector(String title,
                               String[] buttonNames)
Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and default number of rows.

Parameters:
title - title for the border around the panel
buttonNames - list of the names of the buttons

RadioButtonFileSelector

public RadioButtonFileSelector(String title,
                               String[] buttonNames,
                               int columns)
Construct a new RadioButtonFileSelector from a list of names of buttons with the specified title and set the number of columns of buttons per row.

Parameters:
title - title for the border around the panel
buttonNames - list of the names of the buttons
columns - number of columns per row.
Method Detail

setTitle

public void setTitle(String title)
Set the border title

Parameters:
title - title to put on the border. Titles are left justified.

setButtonList

public void setButtonList(String[] buttonNames)
Set the list of buttons

Parameters:
buttonNames - list of button names

setColumns

public void setColumns(int columns)
Set the number of columns in this panel

Parameters:
columns - number of columns of buttons

clearEntries

public void clearEntries()
Clear the entries in the panel


main

public static void main(String[] args)
Run "java ucar.unidata.ui.RadioButtonFileSelector" to test

Parameters:
args -

actionPerformed

public void actionPerformed(ActionEvent e)
ActionListener method

Specified by:
actionPerformed in interface ActionListener
Parameters:
e -

addItemListener

public void addItemListener(ItemListener l)
Adds the specified item listener to receive item events from this ojbect.

Specified by:
addItemListener in interface ItemSelectable
Parameters:
l -

removeItemListener

public void removeItemListener(ItemListener l)
Removes the specified item listener so that the item listener no longer receives item events from this object.

Specified by:
removeItemListener in interface ItemSelectable
Parameters:
l -

getSelectedObjects

public Object[] getSelectedObjects()
Returns an array (length 1) containing the selected radio button or null if no radio buttons are selected.

Specified by:
getSelectedObjects in interface ItemSelectable
Returns:
_more_

fireItemStateChanged

protected void fireItemStateChanged(ItemEvent e)
Notify ItemListeners when a radio button is selected

Parameters:
e -