Package uk.ac.starlink.topcat
Class AuxWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- uk.ac.starlink.topcat.AuxWindow
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
- Direct Known Subclasses:
ActivationWindow
,CdsUploadMatchWindow
,ClassifyWindow
,ColumnInfoWindow
,ConcatWindow
,ControlWindow
,DalMultiWindow
,DatalinkWindow
,GraphicsWindow
,HelpWindow
,HtmlWindow
,ImageWindow
,LoadWindow
,MatchWindow
,MethodWindow
,ParameterWindow
,QueryWindow
,SampWindow
,StackPlotWindow
,StatsWindow
,SubsetWindow
,TableLoadDialogWindow
,TableViewerWindow
public class AuxWindow extends javax.swing.JFrame
Provides a common superclass for windows popped up by TOPCAT. This implements some common look and feel elements.Some window-type utility methods are also provided.
- Author:
- Mark Taylor (Starlink)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description AuxWindow(java.lang.String title, java.awt.Component parent)
Constructs an AuxWindow.AuxWindow(TopcatModel tcModel, java.lang.String viewName, java.awt.Component parent)
Constructs an AuxWindow which will watch a given table.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addHelp(java.lang.String helpID)
Adds standard actions to this window, in the menu and toolbar.static void
beep()
It beeps.boolean
confirm(java.lang.Object message, java.lang.String title)
Obtains simple confirmation from a user.javax.swing.Action
createImportTableAction(java.lang.String dataType, uk.ac.starlink.table.TableSource tSrc, java.lang.String label)
Constructs and returns an action which allows a user to import a supplied table into TOPCAT as if it had just been loaded.javax.swing.Action
createSaveTableAction(java.lang.String dataType, uk.ac.starlink.table.TableSource tSrc)
Constructs and returns an action which allows a user to save a supplied table to disk.javax.swing.JComponent
getBodyPanel()
Returns the panel containing the body of this window.javax.swing.JPanel
getControlPanel()
Returns the container which should be used for controls and buttons.javax.swing.JMenu
getHelpMenu()
Returns this window's "Help" menu.java.awt.Image
getIconImage()
javax.swing.JPanel
getMainArea()
Returns the container which should be used for the main user component(s) in this window.static java.awt.Component
getSponsorLogos()
Returns a component containing logos for the various organisations which have sponsored TOPCAT development.javax.swing.JToolBar
getToolBar()
Returns this window's toolbar.javax.swing.JMenu
getWindowMenu()
Returns this window's "Window" menu.static javax.swing.border.Border
makeTitledBorder(java.lang.String title)
Returns a new border which features a given title.void
makeVisible()
Ensures that this window is posted in a visible fashion.javax.swing.JProgressBar
placeProgressBar()
Creates a JProgressBar and places it in the the window.static void
positionAfter(java.awt.Component first, java.awt.Window second)
Locates one window 'after' another one - probably a bit lower and to the right.static void
recursiveSetEnabled(java.awt.Component comp, boolean enabled)
Recursively callsComponent.setEnabled(boolean)
on a component and (if it is a container) any of the components it contains.void
setBusy(boolean busy)
Makes the window look like it's doing something.void
setCloseIsExit()
Irrevocably marks this window as one for which the Close action has the same effect as the Exit action.void
setMainHeading(java.lang.String text)
Sets the in-window text which heads up the main display area.void
setVisible(boolean isVis)
-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
AuxWindow
public AuxWindow(java.lang.String title, java.awt.Component parent)
Constructs an AuxWindow.- Parameters:
title
- the window basic titleparent
- the parent component of the new window - may be used for positioning
-
AuxWindow
public AuxWindow(TopcatModel tcModel, java.lang.String viewName, java.awt.Component parent)
Constructs an AuxWindow which will watch a given table. Its title is modified as necessary if the table's label changes. This constructor is only suitable if the window is going to watch (be a view of) a single TopcatModel throughout its life.- Parameters:
tcModel
- the model owned by this windowviewName
- name of the type of view provided by this windowparent
- parent component, may be used for window positioning
-
-
Method Detail
-
addHelp
protected void addHelp(java.lang.String helpID)
Adds standard actions to this window, in the menu and toolbar. This method should generally be called by subclasses after they have added any other menus and toolbar buttons specific to their function, since the standard buttons appear as the last ones.An ID can be supplied to indicate the page which should be shown in the help viewer when context-sensitive help is requested. This may be null if no change in the help page should be made (for instance if there is no help specific to this window).
- Parameters:
helpID
- the ID of the help item for this window
-
setBusy
public void setBusy(boolean busy)
Makes the window look like it's doing something. This currently modifies the cursor to be busy/normal.- Parameters:
busy
- whether the window should look busy
-
makeVisible
public void makeVisible()
Ensures that this window is posted in a visible fashion.
-
setVisible
public void setVisible(boolean isVis)
- Overrides:
setVisible
in classjava.awt.Window
-
placeProgressBar
public javax.swing.JProgressBar placeProgressBar()
Creates a JProgressBar and places it in the the window. It will replace any other progress bar which has been placed by an earlier call of this method.- Returns:
- the progress bar which has been placed
-
setCloseIsExit
public void setCloseIsExit()
Irrevocably marks this window as one for which the Close action has the same effect as the Exit action. Any Close invocation buttons are replaced with exit ones, duplicates removed, etc. Should be called before any call toaddHelp(java.lang.String)
.
-
getToolBar
public javax.swing.JToolBar getToolBar()
Returns this window's toolbar. Any client which adds a group of tools to the toolbar should add a separator after the group.- Returns:
- the toolbar
-
getWindowMenu
public javax.swing.JMenu getWindowMenu()
Returns this window's "Window" menu.- Returns:
- the window menu
-
getHelpMenu
public javax.swing.JMenu getHelpMenu()
Returns this window's "Help" menu.- Returns:
- the help menu
-
setMainHeading
public void setMainHeading(java.lang.String text)
Sets the in-window text which heads up the main display area.- Parameters:
text
- heading text
-
getMainArea
public javax.swing.JPanel getMainArea()
Returns the container which should be used for the main user component(s) in this window. It will have a BorderLayout.- Returns:
- main container
-
getControlPanel
public javax.swing.JPanel getControlPanel()
Returns the container which should be used for controls and buttons. This will probably be placed below the mainArea.- Returns:
- control container
-
getBodyPanel
public javax.swing.JComponent getBodyPanel()
Returns the panel containing the body of this window. This contains most of the content but not the parts that have to go at the top and bottom like the toolbar and progress bar.- Returns:
- body panel
-
confirm
public boolean confirm(java.lang.Object message, java.lang.String title)
Obtains simple confirmation from a user. This is just a convenience method wrapping a JOptionPane invocation.- Parameters:
message
- confirmation text for usertitle
- confirmation window title- Returns:
- true iff the user provides positive confirmation
-
createSaveTableAction
public javax.swing.Action createSaveTableAction(java.lang.String dataType, uk.ac.starlink.table.TableSource tSrc)
Constructs and returns an action which allows a user to save a supplied table to disk.- Parameters:
dataType
- short textual description of the table contenttSrc
- table supplier object
-
createImportTableAction
public javax.swing.Action createImportTableAction(java.lang.String dataType, uk.ac.starlink.table.TableSource tSrc, java.lang.String label)
Constructs and returns an action which allows a user to import a supplied table into TOPCAT as if it had just been loaded.- Parameters:
dataType
- short textual description of the table contenttSrc
- table supplier objectlabel
- TocpatModel identifier label
-
getIconImage
public java.awt.Image getIconImage()
- Overrides:
getIconImage
in classjava.awt.Frame
-
beep
public static void beep()
It beeps.
-
makeTitledBorder
public static javax.swing.border.Border makeTitledBorder(java.lang.String title)
Returns a new border which features a given title.- Parameters:
title
- window title- Returns:
- border
-
positionAfter
public static void positionAfter(java.awt.Component first, java.awt.Window second)
Locates one window 'after' another one - probably a bit lower and to the right. The second window is repositioned relative to the first one.- Parameters:
first
- first window, or nullsecond
- second window
-
recursiveSetEnabled
public static void recursiveSetEnabled(java.awt.Component comp, boolean enabled)
Recursively callsComponent.setEnabled(boolean)
on a component and (if it is a container) any of the components it contains.- Parameters:
comp
- top-level component to enable/disableenabled
- whether to enable or disable it
-
getSponsorLogos
public static java.awt.Component getSponsorLogos()
Returns a component containing logos for the various organisations which have sponsored TOPCAT development.- Returns:
- logo bar
-
-