uk.ac.starlink.table.gui
Class TableSaveChooser

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 uk.ac.starlink.table.gui.TableSaveChooser
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public abstract class TableSaveChooser
extends JPanel

Dialog which permits a user to save one or more StarTables in a place and format of choice. It should be able to provide suitable dialogs for all the supported table types; in particular it includes a filestore browser and special JDBC connection dialog.

The usual way to use this is to implement getTables() to provide the table which will be saved, and then call showSaveDialog(java.awt.Component).

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.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
TableSaveChooser()
          Constructs a saver with a default StarTableOutput and save dialogues.
TableSaveChooser(StarTableOutput sto, TableSaveDialog[] saveDialogs)
          Constructs a saver with a given StarTableOutput and save dialogues.
 
Method Summary
 JDialog createDialog(Component parent)
          Creates a dialogue which can be used for user interaction.
 Action createSaveDialogAction(TableSaveDialog tsd)
          Returns an action which will result in the given save dialogue being posted to allow the user to save this chooser's current table.
 void done()
          Called when the table has been written.
 JComboBox getFormatSelector()
          Returns the selector which chooses table output formats.
 Action[] getSaveDialogActions()
          Returns actions which correspond to the save dialogues this saver is using.
 String getSelectedFormat()
          Returns the currently selected format string.
 StarTableOutput getTableOutput()
          Returns the StarTableOutput object which this saver uses to do the actual writing of the StarTables.
abstract  StarTable[] getTables()
          Obtains the tables to write.
static void main(String[] args)
          Testing purposes only.
static ComboBoxModel makeFormatBoxModel(StarTableOutput sto, boolean multi)
          Constructs a ComboBoxModel containing an entry for each of the known output formats.
 void setEnabled(boolean isEnabled)
           
 void setProgressBar(JProgressBar progBar)
          Sets the progress bar that will be used by this chooser.
 void setSelectedFormat(String format)
          Sets the currently selected format string.
 void setTableOutput(StarTableOutput sto)
          Sets the StarTableOutput object which this saver uses to do the actual writing of the StarTables.
 void showSaveDialog(Component parent)
          Pops up a modal dialogue which interacts with the user to save the tables returned by getTables().
 
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, 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, 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, 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, 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

TableSaveChooser

public TableSaveChooser()
Constructs a saver with a default StarTableOutput and save dialogues.


TableSaveChooser

public TableSaveChooser(StarTableOutput sto,
                        TableSaveDialog[] saveDialogs)
Constructs a saver with a given StarTableOutput and save dialogues.

Parameters:
sto - output marshaller
saveDialogs - array of save dialogues to use
Method Detail

setTableOutput

public void setTableOutput(StarTableOutput sto)
Sets the StarTableOutput object which this saver uses to do the actual writing of the StarTables.

Parameters:
sto - the new StarTableOutput to use

getTableOutput

public StarTableOutput getTableOutput()
Returns the StarTableOutput object which this saver uses to do the actual writing of the StarTables.

Returns:
sto the StarTableOutput object

getFormatSelector

public JComboBox getFormatSelector()
Returns the selector which chooses table output formats. Its model contains strings; it may be replaced.

Returns:
format selector

getTables

public abstract StarTable[] getTables()
Obtains the tables to write. This must be implemented by concrete subclasses.

Returns:
table to write

setProgressBar

public void setProgressBar(JProgressBar progBar)
Sets the progress bar that will be used by this chooser. Should be called before the component is displayed to the user.

Parameters:
progBar - progress bar for displaying save progress

getSaveDialogActions

public Action[] getSaveDialogActions()
Returns actions which correspond to the save dialogues this saver is using. Each action is the result of an earlier call to createSaveDialogAction(uk.ac.starlink.table.gui.TableSaveDialog).

Returns:
array of actions which will trigger a particular save dialogue

done

public void done()
Called when the table has been written.


showSaveDialog

public void showSaveDialog(Component parent)
Pops up a modal dialogue which interacts with the user to save the tables returned by getTables().

Parameters:
parent - parent component

setEnabled

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

getSelectedFormat

public String getSelectedFormat()
Returns the currently selected format string.

Returns:
format label

setSelectedFormat

public void setSelectedFormat(String format)
Sets the currently selected format string.

Parameters:
format - format label

createDialog

public JDialog createDialog(Component parent)
Creates a dialogue which can be used for user interaction.

Parameters:
parent - parent component

createSaveDialogAction

public final Action createSaveDialogAction(TableSaveDialog tsd)
Returns an action which will result in the given save dialogue being posted to allow the user to save this chooser's current table. This method is invoked in the constructor, hence is declared final.

Parameters:
tsd - save dialogue
Returns:
action to post tsd

makeFormatBoxModel

public static ComboBoxModel makeFormatBoxModel(StarTableOutput sto,
                                               boolean multi)
Constructs a ComboBoxModel containing an entry for each of the known output formats.

Parameters:
sto - output marshaller
multi - true if multiple tables might be used, false if only a single table will be written
Returns:
format combo box model

main

public static void main(String[] args)
Testing purposes only.


Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.