com.jstatcom.component
Class TopFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by com.jstatcom.component.TopFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class TopFrame
extends javax.swing.JFrame

A configurable frame that can be used as a main frame for applications based on JStatCom. It provides a default implementation which can be adjusted by overwriting template methods and by specifying an XML file for adding additional modules.

The files for storing configuration data are:

Author:
Markus Kraetzig
See Also:
Serialized Form

Nested Class Summary
static class TopFrame.XMLRep
          Holds the xml representation for all modules.
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static java.lang.String ABOUTIMAGE
           
static java.lang.String ABOUTINFO
           
static java.lang.String ICON
           
static java.lang.String LICENSE
           
static java.lang.String TITLE
           
static java.lang.String VERSION
          Version string and other props are taken from resource file app.properties.
static java.lang.String XMLFILE
          Filename for storing the module configuration as XML.
 
Fields inherited from class javax.swing.JFrame
EXIT_ON_CLOSE
 
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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TopFrame()
          Calls this("JStatCom - Top Frame", true, true).
TopFrame(java.lang.String title)
          Calls this(title, true, true).
TopFrame(java.lang.String title, boolean isConfirmClose, boolean isSystemExitOnClose)
          Creates a TopFrame with its closing behaviour defined by the arguments.
 
Method Summary
 AppSettings getAppSettings()
          Gets the settings instance according to the user properties.
 javax.swing.JToolBar getToolBar()
          Gets the tool bar.
 javax.swing.JMenu getToolsMenu()
          Sets up the window menu.
 javax.swing.JDesktopPane getTopFrameDesktop()
          Gets the desktop pane.
 javax.swing.JMenuBar getTopFrameMenuBar()
          Gets the menu bar.
 TopFrameSettings getTopFrameSettings()
          Gets the settings instance according to the current appearance of this frame.
 java.lang.String getTopModuleByName()
          Gets title of the currently displayed top-level module frame.
 void handleView(javax.swing.JInternalFrame internalFrame)
          Shows internal frame and brings it to top if closed or iconified.
static void main(java.lang.String[] args)
          Starts the application.
 void setAppSettings(AppSettings settings)
          Sets the user properties from a settings parameter.
 void setTopFrameSettings(TopFrameSettings settings)
          Sets the appearance of this frame according to the settings argument.
 void setTopModuleByName(java.lang.String moduleTitle)
          Sets the module frame that should be displayed via its title.
 void skeleton()
          Skeleton method to call template methods in the following order: setLookAndFeel startSplash adjustFrameSizeandLocation initLog addMenuBar addToolBar addStatusBar setModulesFromXML extra If this method is overwritten, then no components will be added to this frame.
 
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, 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, paint, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

XMLFILE

public static final java.lang.String XMLFILE
Filename for storing the module configuration as XML.

See Also:
Constant Field Values

VERSION

public static java.lang.String VERSION
Version string and other props are taken from resource file app.properties.


TITLE

public static java.lang.String TITLE

ABOUTIMAGE

public static java.lang.String ABOUTIMAGE

ABOUTINFO

public static java.lang.String ABOUTINFO

LICENSE

public static java.lang.String LICENSE

ICON

public static java.lang.String ICON
Constructor Detail

TopFrame

public TopFrame()
Calls this("JStatCom - Top Frame", true, true).


TopFrame

public TopFrame(java.lang.String title)
Calls this(title, true, true).

Parameters:
title - the title of the application

TopFrame

public TopFrame(java.lang.String title,
                boolean isConfirmClose,
                boolean isSystemExitOnClose)
Creates a TopFrame with its closing behaviour defined by the arguments.

Parameters:
title - the title of the application
isConfirmClose - if true then a confirm dialog is shown before closing
isSystemExitOnClose - if true then System.exit is called on close and all engine instances are shutdown, otherwise only dispose is called
Method Detail

getTopModuleByName

public java.lang.String getTopModuleByName()
Gets title of the currently displayed top-level module frame.

Returns:
top-level frame title, or "" if none is displayed

getToolBar

public javax.swing.JToolBar getToolBar()
Gets the tool bar.

Returns:
tool bar

getTopFrameDesktop

public final javax.swing.JDesktopPane getTopFrameDesktop()
Gets the desktop pane.

Returns:
initialized JDesktopPane

getTopFrameMenuBar

public final javax.swing.JMenuBar getTopFrameMenuBar()
Gets the menu bar.

Returns:
initialized JMenuBar

skeleton

public void skeleton()
Skeleton method to call template methods in the following order: If this method is overwritten, then no components will be added to this frame. To adjust the behaviour subclasses should overwrite the template methods.


getToolsMenu

public javax.swing.JMenu getToolsMenu()
Sets up the window menu.

Returns:
a menu instance

main

public static void main(java.lang.String[] args)
Starts the application.

Parameters:
args - an array of command-line arguments

handleView

public final void handleView(javax.swing.JInternalFrame internalFrame)
Shows internal frame and brings it to top if closed or iconified.

Parameters:
internalFrame -

setTopModuleByName

public void setTopModuleByName(java.lang.String moduleTitle)
Sets the module frame that should be displayed via its title. If there is no module frame with moduleTitle, nothing happens.

Parameters:
moduleTitle - the title of the module frame to set
Throws:
java.lang.IllegalArgumentException - if (moduleTitle == null)

setTopFrameSettings

public void setTopFrameSettings(TopFrameSettings settings)
Sets the appearance of this frame according to the settings argument. Nothing happens if the argument is null.

Parameters:
settings - holds the parameters determining the appearance of this frame

setAppSettings

public void setAppSettings(AppSettings settings)
Sets the user properties from a settings parameter.

Parameters:
settings - holds the property parameters

getTopFrameSettings

public TopFrameSettings getTopFrameSettings()
Gets the settings instance according to the current appearance of this frame.

Returns:
settings instance

getAppSettings

public AppSettings getAppSettings()
Gets the settings instance according to the user properties.

Returns:
settings instance