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:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,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
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
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.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
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
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Adds standard actions to this window, in the menu and toolbar.static void
beep()
It beeps.boolean
Obtains simple confirmation from a user.createImportTableAction
(String dataType, uk.ac.starlink.table.TableSource tSrc, 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.createSaveTableAction
(String dataType, uk.ac.starlink.table.TableSource tSrc) Constructs and returns an action which allows a user to save a supplied table to disk.Returns the panel containing the body of this window.Returns the container which should be used for controls and buttons.Returns this window's "Help" menu.Returns the container which should be used for the main user component(s) in this window.static Component
Returns a component containing logos for the various organisations which have sponsored TOPCAT development.Returns this window's toolbar.Returns this window's "Window" menu.static Border
makeTitledBorder
(String title) Returns a new border which features a given title.void
Ensures that this window is posted in a visible fashion.Creates a JProgressBar and places it in the the window.static void
positionAfter
(Component first, Window second) Locates one window 'after' another one - probably a bit lower and to the right.static void
recursiveSetEnabled
(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
Irrevocably marks this window as one for which the Close action has the same effect as the Exit action.void
setMainHeading
(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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Constructor Details
-
AuxWindow
Constructs an AuxWindow.- Parameters:
title
- the window basic titleparent
- the parent component of the new window - may be used for positioning
-
AuxWindow
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 Details
-
addHelp
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 classWindow
-
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
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
Returns this window's "Window" menu.- Returns:
- the window menu
-
getHelpMenu
Returns this window's "Help" menu.- Returns:
- the help menu
-
setMainHeading
Sets the in-window text which heads up the main display area.- Parameters:
text
- heading text
-
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
Returns the container which should be used for controls and buttons. This will probably be placed below the mainArea.- Returns:
- control container
-
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
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
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 Action createImportTableAction(String dataType, uk.ac.starlink.table.TableSource tSrc, 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
- Overrides:
getIconImage
in classFrame
-
beep
public static void beep()It beeps. -
makeTitledBorder
Returns a new border which features a given title.- Parameters:
title
- window title- Returns:
- border
-
positionAfter
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, ornull
second
- second window
-
recursiveSetEnabled
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
Returns a component containing logos for the various organisations which have sponsored TOPCAT development.- Returns:
- logo bar
-