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, VariableWindow
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 JFrame
JFrame.AccessibleJFrameNested classes/interfaces inherited from class Frame
Frame.AccessibleAWTFrameNested classes/interfaces inherited from class Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class JFrame
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class 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_CURSORFields inherited from class Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds standard actions to this window, in the menu and toolbar.static voidbeep()It beeps.booleanObtains 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 ComponentReturns 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 BordermakeTitledBorder(String title) Returns a new border which features a given title.voidEnsures that this window is posted in a visible fashion.Creates a JProgressBar and places it in the the window.static voidpositionAfter(Component first, Window second) Locates one window 'after' another one - probably a bit lower and to the right.static voidrecursiveSetEnabled(Component comp, boolean enabled) Recursively callsComponent.setEnabled(boolean)on a component and (if it is a container) any of the components it contains.voidsetBusy(boolean busy) Makes the window look like it's doing something.voidIrrevocably marks this window as one for which the Close action has the same effect as the Exit action.voidsetMainHeading(String text) Sets the in-window text which heads up the main display area.voidsetVisible(boolean isVis) Methods inherited from class 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, updateMethods inherited from class Frame
addNotify, getCursorType, getExtendedState, getFrames, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecoratedMethods inherited from class 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, toFrontMethods inherited from class 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, validateTreeMethods inherited from class 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, transferFocusUpCycleMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface MenuContainer
getFont, postEvent
-
Constructor Details
-
AuxWindow
-
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
nullif 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:
setVisiblein 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(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
-
getHelpMenu
-
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
-
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:
getIconImagein classFrame
-
beep
public static void beep()It beeps. -
makeTitledBorder
-
positionAfter
-
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
-