JHotDraw 7.4.1

org.jhotdraw.app
Class SDIApplication

java.lang.Object
  extended by org.jhotdraw.beans.AbstractBean
      extended by org.jhotdraw.app.AbstractApplication
          extended by org.jhotdraw.app.SDIApplication
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Application

public class SDIApplication
extends AbstractApplication

SDIApplication handles the lifecycle of a Views using a single document interface (SDI).

An application consists of independent JFrames for each view. Each JFrame contains a menu bar, toolbars and palette bars for the views.

The life cycle of the application is tied to the JFrames. Closing the last JFrame quits the application. SDIApplication handles the life cycle of a single document window being presented in a JFrame. The JFrame provides all the functionality needed to work with the document, such as a menu bar, tool bars and palette windows.

The life cycle of the application is tied to the JFrame. Closing the JFrame quits the application.

Version:
$Id: SDIApplication.java 604 2010-01-09 12:00:29Z rawcoder $
Author:
Werner Randelshofer
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jhotdraw.app.AbstractApplication
labels, model, VIEW_COUNT_PROPERTY
 
Fields inherited from class org.jhotdraw.beans.AbstractBean
propertySupport
 
Fields inherited from interface org.jhotdraw.app.Application
ACTIVE_VIEW_PROPERTY, RECENT_URIS_PROPERTY
 
Constructor Summary
SDIApplication()
          Creates a new instance.
 
Method Summary
 void configure(java.lang.String[] args)
          Configures the application using the provided arguments array.
 javax.swing.JMenu createEditMenu(View view)
          Creates an edit menu for the specified view.
 javax.swing.JMenu createFileMenu(View view)
          Creates a file menu for the specified view.
 javax.swing.JMenu createHelpMenu(View p)
          Creates a help menu for the specified view.
protected  javax.swing.JMenuBar createMenuBar(View v)
          Creates a menu bar.
protected  javax.swing.ActionMap createModelActionMap(ApplicationModel mo)
           
protected  javax.swing.ActionMap createViewActionMap(View v)
           
 javax.swing.JMenu createViewMenu(View view)
          Creates the window menu.
 javax.swing.JMenu createWindowMenu(View view)
          Creates a window menu for the specified view.
 void dispose(View p)
          This is a convenience method for removing a view and disposing it.
 java.awt.Component getComponent()
          Returns the application component.
 void hide(View p)
          Hides a view.
 void init()
          Initializes the application.
protected  void initLookAndFeel()
           
 boolean isSharingToolsAmongViews()
          Returns true, if this application shares tools among multiple views.
 void launch(java.lang.String[] args)
          Launches the application from the main method.
 void remove(View p)
          Removes a view from this application and removes it from the users view.
 void show(View view)
          Shows a view.
protected  void updateViewTitle(View view, javax.swing.JFrame f)
          Updates the title of a view and displays it in the given frame.
protected  java.awt.Component wrapViewComponent(View p)
          Returns the view component.
 
Methods inherited from class org.jhotdraw.app.AbstractApplication
add, addAction, addAction, addMenuItem, addPalette, addRecentURI, addWindow, basicCreateView, clearRecentURIs, createContainer, createOpenRecentFileMenu, createView, destroy, getAction, getActionMap, getActiveView, getCopyright, getExportChooser, getImportChooser, getModel, getName, getOpenChooser, getRecentURIs, getSaveChooser, getVersion, initLabels, isEnabled, maybeAddSeparator, removePalette, removeWindow, setActionMap, setActiveView, setEnabled, setModel, start, stop, views
 
Methods inherited from class org.jhotdraw.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, clone, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.app.Application
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

SDIApplication

public SDIApplication()
Creates a new instance.

Method Detail

launch

public void launch(java.lang.String[] args)
Description copied from interface: Application
Launches the application from the main method. This method is typically invoked on the main Thread. This will invoke configure() on the current thread and then init() and start() on the AWT Event Dispatcher Thread.

Specified by:
launch in interface Application
Overrides:
launch in class AbstractApplication

init

public void init()
Description copied from interface: Application
Initializes the application. configure() should have been invoked before the application is inited. Alternatively an application can be configured using setter methods.

Specified by:
init in interface Application
Overrides:
init in class AbstractApplication

remove

public void remove(View p)
Description copied from interface: Application
Removes a view from this application and removes it from the users view. Fires a "documentCount" property change event. Invokes method setApplication(null) on the view object.

Specified by:
remove in interface Application
Overrides:
remove in class AbstractApplication

configure

public void configure(java.lang.String[] args)
Description copied from interface: Application
Configures the application using the provided arguments array.

Specified by:
configure in interface Application
Overrides:
configure in class AbstractApplication

initLookAndFeel

protected void initLookAndFeel()

show

public void show(View view)
Description copied from interface: Application
Shows a view.


wrapViewComponent

protected java.awt.Component wrapViewComponent(View p)
Returns the view component. Eventually wraps it into another component in order to provide additional functionality.


hide

public void hide(View p)
Description copied from interface: Application
Hides a view.


dispose

public void dispose(View p)
Description copied from interface: Application
This is a convenience method for removing a view and disposing it.

Specified by:
dispose in interface Application
Overrides:
dispose in class AbstractApplication

createMenuBar

protected javax.swing.JMenuBar createMenuBar(View v)
Creates a menu bar.


createFileMenu

public javax.swing.JMenu createFileMenu(View view)
Description copied from interface: Application
Creates a file menu for the specified view. Returns null, if the menu is empty.


createEditMenu

public javax.swing.JMenu createEditMenu(View view)
Description copied from interface: Application
Creates an edit menu for the specified view. Returns null, if the menu is empty.


updateViewTitle

protected void updateViewTitle(View view,
                               javax.swing.JFrame f)
Updates the title of a view and displays it in the given frame.

Parameters:
view - The view.
f - The frame.

isSharingToolsAmongViews

public boolean isSharingToolsAmongViews()
Description copied from interface: Application
Returns true, if this application shares tools among multiple views.


getComponent

public java.awt.Component getComponent()
Description copied from interface: Application
Returns the application component. This may return null, if the application is not represented by a component of its own on the user interface.


createWindowMenu

public javax.swing.JMenu createWindowMenu(View view)
Description copied from interface: Application
Creates a window menu for the specified view. Returns null, if the menu is empty.


createViewMenu

public javax.swing.JMenu createViewMenu(View view)
Creates the window menu.

Parameters:
view - The View
Returns:
A JMenu or null, if the menu doesn't have any items.

createHelpMenu

public javax.swing.JMenu createHelpMenu(View p)
Description copied from interface: Application
Creates a help menu for the specified view. Returns null, if the menu is empty.


createModelActionMap

protected javax.swing.ActionMap createModelActionMap(ApplicationModel mo)

createViewActionMap

protected javax.swing.ActionMap createViewActionMap(View v)
Specified by:
createViewActionMap in class AbstractApplication

Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.