JHotDraw 7.0.9

org.jhotdraw.application
Class AbstractDocumentView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.jhotdraw.application.AbstractDocumentView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, DocumentView
Direct Known Subclasses:
TeddyView

public abstract class AbstractDocumentView
extends javax.swing.JPanel
implements DocumentView

AbstractDocumentView.

Version:
1.1.1 2006-04-11 Fixed documentView file preferences.
1.1 2006-02-16 Support for preferences added.
1.0 January 3, 2006 Created.
Author:
Werner Randelshofer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.util.concurrent.Executor executor
          The executor used to perform background tasks for the DocumentView in a controlled manner.
protected  java.io.File file
          The documentView file.
protected  javax.swing.JFileChooser openChooser
          The file chooser used for opening the documentView.
protected  javax.swing.JFileChooser saveChooser
          The file chooser used for saving the documentView.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
 
Constructor Summary
AbstractDocumentView()
          Creates a new instance.
 
Method Summary
protected  javax.swing.JFileChooser createOpenChooser()
           
protected  javax.swing.JFileChooser createSaveChooser()
           
 void destroy()
          Gets rid of all the resources of the documentView.
 void execute(java.lang.Runnable worker)
          Executes the specified runnable on the worker thread of the documentView.
 javax.swing.Action getAction(java.lang.String id)
          Returns the action with the specified id.
 DocumentOrientedApplication getApplication()
           
 javax.swing.JComponent getComponent()
          Returns the visual component of the view.
 java.io.File getFile()
          Returns the file which is associated to this document view.
 javax.swing.JFileChooser getOpenChooser()
          Gets the open file chooser for the documentView.
 javax.swing.JFileChooser getSaveChooser()
          Gets the save file chooser for the documentView.
 void init()
          Called by the WindowManager to inform this view that it has been loaded into the system.
 boolean isModified()
          Returns true, if the documentView has unsaved changes.
 void putAction(java.lang.String id, javax.swing.Action action)
          Puts an action with the specified id.
 void setFile(java.io.File newValue)
          Associates the document view with a file.
 void setModified(boolean newValue)
          Sets the modified state of the document view.
 void setName(java.lang.String n)
          Sets the name of the view.
 void start()
          Called by the WindowManager to inform this view that it should start its execution.
 void stop()
          Called by the WindowManager to inform this view that it should stop its execution.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.application.DocumentView
addPropertyChangeListener, clear, getName, isEnabled, read, removePropertyChangeListener, setEnabled, write
 

Field Detail

saveChooser

protected javax.swing.JFileChooser saveChooser
The file chooser used for saving the documentView. Has a null value, if the file chooser has not been used yet.


openChooser

protected javax.swing.JFileChooser openChooser
The file chooser used for opening the documentView. Has a null value, if the file chooser has not been used yet.


file

protected java.io.File file
The documentView file. Has a null value, if the documentView has not been loaded from a file or has not been saved yet.


executor

protected java.util.concurrent.Executor executor
The executor used to perform background tasks for the DocumentView in a controlled manner. This executor ensures that all background tasks are executed sequentually.

Constructor Detail

AbstractDocumentView

public AbstractDocumentView()
Creates a new instance.

Method Detail

init

public void init()
Description copied from interface: DocumentView
Called by the WindowManager to inform this view that it has been loaded into the system. It is always called before the first time that the start method is called.

Specified by:
init in interface DocumentView

getApplication

public DocumentOrientedApplication getApplication()

getComponent

public javax.swing.JComponent getComponent()
Description copied from interface: DocumentView
Returns the visual component of the view.

Specified by:
getComponent in interface DocumentView
Returns:
The visual component of the view.

getFile

public java.io.File getFile()
Description copied from interface: DocumentView
Returns the file which is associated to this document view. Returns null, if the document view has been created in memory and never been saved yet.

Specified by:
getFile in interface DocumentView

setFile

public void setFile(java.io.File newValue)
Description copied from interface: DocumentView
Associates the document view with a file.

Changing the value of this property does not trigger file loading or saving.

Specified by:
setFile in interface DocumentView

getOpenChooser

public javax.swing.JFileChooser getOpenChooser()
Gets the open file chooser for the documentView.

Specified by:
getOpenChooser in interface DocumentView

createOpenChooser

protected javax.swing.JFileChooser createOpenChooser()

getSaveChooser

public javax.swing.JFileChooser getSaveChooser()
Gets the save file chooser for the documentView.

Specified by:
getSaveChooser in interface DocumentView

createSaveChooser

protected javax.swing.JFileChooser createSaveChooser()

isModified

public boolean isModified()
Returns true, if the documentView has unsaved changes. This is a bound property.

Specified by:
isModified in interface DocumentView

destroy

public void destroy()
Gets rid of all the resources of the documentView. No other methods should be invoked on the documentView afterwards.

Specified by:
destroy in interface DocumentView

getAction

public javax.swing.Action getAction(java.lang.String id)
Returns the action with the specified id.

Specified by:
getAction in interface DocumentView

putAction

public void putAction(java.lang.String id,
                      javax.swing.Action action)
Puts an action with the specified id.

Specified by:
putAction in interface DocumentView

execute

public void execute(java.lang.Runnable worker)
Executes the specified runnable on the worker thread of the documentView. Execution is perfomred sequentially in the same sequence as the runnables have been passed to this method.

Specified by:
execute in interface DocumentView

setName

public void setName(java.lang.String n)
Description copied from interface: DocumentView
Sets the name of the view. The name is used by the user to uniquely identify a view.

Specified by:
setName in interface DocumentView
Overrides:
setName in class java.awt.Component
Parameters:
n - the new name of the view

setModified

public void setModified(boolean newValue)
Description copied from interface: DocumentView
Sets the modified state of the document view. This is a bound property.

A view should change its modified state by itself, when its contents is modified.

Specified by:
setModified in interface DocumentView

start

public void start()
Description copied from interface: DocumentView
Called by the WindowManager to inform this view that it should start its execution. It is called after the init method and each time the window wich contains the view is made visible or restored from minimized state.

Specified by:
start in interface DocumentView

stop

public void stop()
Description copied from interface: DocumentView
Called by the WindowManager to inform this view that it should stop its execution. It is called when the window which contains the view has been hidded or minimized, and also just before the view is to be destroyed.

Specified by:
stop in interface DocumentView

Copyright 1996-2007 (c) JHotDraw.org.
Some rights reserved.