gov.sns.application
Class XalWindow

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--gov.sns.application.XalWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants, XalDocumentListener
Direct Known Subclasses:
AcceleratorWindow, MyWindow, ShowcaseWindow, ShowcaseWindow

public abstract class XalWindow
extends javax.swing.JFrame
implements XalDocumentListener

The base class for custom windows that are the main windows for documents. Subclasses need to define their custom views.

See Also:
Serialized Form

Field Summary
protected  XalDocument document
          The document corresponding to this main window
static int NO_OPTION
           
static int YES_OPTION
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, 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 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
XalWindow(XalDocument aDocument)
          Creates a new instance of WindowAdaptor
 
Method Summary
protected  void captureAsImage()
          Capture the window content as a PNG.
protected  void closeWindow()
          Close this window.
protected  void customizeCommands(Commander commander)
          Override this method to register custom commands.
 int displayConfirmDialog(java.lang.String title, java.lang.String message)
          Display a confirmation dialog with a title and message
 void displayError(java.lang.Exception exception)
          Display an error dialog box with information about the exception and provide an audible alert.
 void displayError(java.lang.String aTitle, java.lang.String message)
          Display an error dialog box and provide an audible alert.
 void displayError(java.lang.String aTitle, java.lang.String prefix, java.lang.Exception exception)
          Display an error dialog box with information about the exception and provide an audible alert.
 void displayWarning(java.lang.Exception exception)
          Display a warning dialog box showing information about an exception that has been thrown and provide an audible alert.
 void displayWarning(java.lang.String aTitle, java.lang.String message)
          Display a warning dialog box and provide an audible alert.
 void displayWarning(java.lang.String aTitle, java.lang.String prefix, java.lang.Exception exception)
          Display a warning dialog box with information about the exception and provide an audible alert.
 void documentHasClosed(XalDocument document)
          Implement XalDocumentListener.
 void documentWillClose(XalDocument document)
          Implement XalDocumentListener.
protected  void freeCustomResources()
          Dispose of custom window resources.
protected  void generateWindowTitle()
          Generate the title on the title bar to reflect the document state.
 javax.swing.JToolBar getToolBar()
          Get the toolbar associated with this window.
 void hasChangesChanged(XalDocument document, boolean newHasChangesStatus)
          Implement XalDocumentListener.
protected  void hideWindow()
          Iconify this window.
protected  Commander makeCommander()
          Subclasses should override this method to provide a custom Commander.
protected  void makeFrame()
          Make the frame and populate the menubar and toolbar.
protected  java.awt.event.WindowListener newWindowHandler()
          Create a new window listener.
protected  void registerEvents()
          Register the event handlers
protected  void releaseWindow()
          Dispose of this window and remove its association with the document.
protected  void showWindow()
          Show this window.
 void titleChanged(XalDocument document, java.lang.String documentTitle)
          Implement XalDocumentListener and handle the event where the title has changed.
 boolean userPermitsCloseWithUnsavedChanges()
          Query the user to see if it is okay to close the document given that unsaved changes exist.
 boolean usesToolbar()
          Subclasses may override this method to not create the toolbar.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

YES_OPTION

public static final int YES_OPTION
See Also:
Constant Field Values

NO_OPTION

public static final int NO_OPTION
See Also:
Constant Field Values

document

protected XalDocument document
The document corresponding to this main window

Constructor Detail

XalWindow

public XalWindow(XalDocument aDocument)
Creates a new instance of WindowAdaptor

Method Detail

registerEvents

protected void registerEvents()
Register the event handlers


makeFrame

protected void makeFrame()
Make the frame and populate the menubar and toolbar.


getToolBar

public javax.swing.JToolBar getToolBar()
Get the toolbar associated with this window.

Returns:
This window's toolbar or null if none was added.

makeCommander

protected Commander makeCommander()
Subclasses should override this method to provide a custom Commander.


customizeCommands

protected void customizeCommands(Commander commander)
Override this method to register custom commands.


newWindowHandler

protected java.awt.event.WindowListener newWindowHandler()
Create a new window listener.


captureAsImage

protected void captureAsImage()
Capture the window content as a PNG. Present the user with a save dialog box so the image can be saved to a file.


closeWindow

protected void closeWindow()
Close this window. Check to see if the document has unsaved changes and if so warn the user and allow them to cancel the close operation.


showWindow

protected void showWindow()
Show this window. Make it visible (de-iconify if necessary) and bring it to the front.


hideWindow

protected void hideWindow()
Iconify this window.


userPermitsCloseWithUnsavedChanges

public boolean userPermitsCloseWithUnsavedChanges()
Query the user to see if it is okay to close the document given that unsaved changes exist.

Returns:
If the user allows the document to be closed.

releaseWindow

protected final void releaseWindow()
Dispose of this window and remove its association with the document.


freeCustomResources

protected void freeCustomResources()
Dispose of custom window resources. Subclasses should override this method to provide custom disposal of resources. The default implementation does nothing.


titleChanged

public final void titleChanged(XalDocument document,
                               java.lang.String documentTitle)
Implement XalDocumentListener and handle the event where the title has changed. Update the title on the title bar to reflect the new document title.

Specified by:
titleChanged in interface XalDocumentListener
Parameters:
document - The document initiating the title changed event.
documentTitle - The new document title.

generateWindowTitle

protected void generateWindowTitle()
Generate the title on the title bar to reflect the document state. The title displays the application name, the document title if any and an asterisk if the document has unsaved changes.


hasChangesChanged

public void hasChangesChanged(XalDocument document,
                              boolean newHasChangesStatus)
Implement XalDocumentListener. Update the title on the title bar to reflect whether the document has changes that need saving.

Specified by:
hasChangesChanged in interface XalDocumentListener
Parameters:
document - The document initiating the event.
newHasChangesStatus - The new status identifying whethe the document has changes to be saved
See Also:
titleChanged(gov.sns.application.XalDocument, java.lang.String)

documentWillClose

public void documentWillClose(XalDocument document)
Implement XalDocumentListener. Event indicating that the document will close. Closes the window in response.

Specified by:
documentWillClose in interface XalDocumentListener
Parameters:
document - The document that will close.

documentHasClosed

public void documentHasClosed(XalDocument document)
Implement XalDocumentListener. Does nothing.

Specified by:
documentHasClosed in interface XalDocumentListener
Parameters:
document - The document that has closed.

usesToolbar

public boolean usesToolbar()
Subclasses may override this method to not create the toolbar.


displayConfirmDialog

public int displayConfirmDialog(java.lang.String title,
                                java.lang.String message)
Display a confirmation dialog with a title and message

Parameters:
title - The title of the dialog
message - The message to display
Returns:
YES_OPTION or NO_OPTION

displayWarning

public void displayWarning(java.lang.String aTitle,
                           java.lang.String message)
Display a warning dialog box and provide an audible alert.

Parameters:
aTitle - Title of the warning dialog box.
message - The warning message to appear in the warning dialog box.

displayWarning

public void displayWarning(java.lang.Exception exception)
Display a warning dialog box showing information about an exception that has been thrown and provide an audible alert.

Parameters:
exception - The exception whose description is being displayed.

displayWarning

public void displayWarning(java.lang.String aTitle,
                           java.lang.String prefix,
                           java.lang.Exception exception)
Display a warning dialog box with information about the exception and provide an audible alert. This method allows clarification about the consequences of the exception (e.g. "Save Failed:").

Parameters:
aTitle - Title of the warning dialog box.
prefix - Text that should appear in the dialog box before the exception messasge.
exception - The exception about which the warning dialog is displayed.

displayError

public void displayError(java.lang.String aTitle,
                         java.lang.String message)
Display an error dialog box and provide an audible alert.

Parameters:
aTitle - Title of the warning dialog box.
message - The warning message to appear in the warning dialog box.

displayError

public void displayError(java.lang.Exception exception)
Display an error dialog box with information about the exception and provide an audible alert.

Parameters:
exception - The exception about which the warning dialog is displayed.

displayError

public void displayError(java.lang.String aTitle,
                         java.lang.String prefix,
                         java.lang.Exception exception)
Display an error dialog box with information about the exception and provide an audible alert. This method allows clarification about the consequences of the exception (e.g. "Save Failed:").

Parameters:
aTitle - Title of the warning dialog box.
prefix - Text that should appear in the dialog box before the exception messasge.
exception - The exception about which the warning dialog is displayed.