JHotDraw 7.1

org.jhotdraw.samples.draw
Class DrawView

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.app.AbstractView
                      extended by org.jhotdraw.samples.draw.DrawView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, View

public class DrawView
extends AbstractView

A view for JHotDraw drawings.

Version:
1.3.1 2008-03-19 Method read() tries out now all supported files format.
1.3 2007-11-25 Method clear() is now invoked from a worker thread.
1.2 2006-12-26 Reworked I/O support.
1.1 2006-06-10 Extended to support DefaultDrawApplicationModel.
1.0 2006-02-07 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
 
Fields inherited from class org.jhotdraw.app.AbstractView
executor, file, openChooser, saveChooser
 
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 org.jhotdraw.app.View
APPLICATION_PROPERTY, ENABLED_PROPERTY, FILE_PROPERTY, HAS_UNSAVED_CHANGES_PROPERTY, MULTIPLE_OPEN_ID_PROPERTY, SHOWING_PROPERTY, TITLE_PROPERTY
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DrawView()
          Creates a new view.
 
Method Summary
 boolean canSaveTo(java.io.File file)
          Returns true, if this view can be saved to the specified file.
 void clear()
          Clears the view.
protected  Drawing createDrawing()
          Creates a new Drawing for this view.
protected  javax.swing.JFileChooser createOpenChooser()
           
 java.awt.print.Pageable createPageable()
          Creates a Pageable object for printing the view.
protected  javax.swing.JFileChooser createSaveChooser()
           
 DrawingEditor getDrawingEditor()
          Gets the drawing editor of the view.
 DrawingEditor getEditor()
           
 void init()
          Initializes the view.
 void read(java.io.File f)
          Reads the view from the specified file.
 void setDrawingEditor(DrawingEditor newValue)
          Sets a drawing editor for the view.
 void setEditor(DrawingEditor newValue)
           
protected  void setHasUnsavedChanges(boolean newValue)
           
 void write(java.io.File f)
          Writes the view to the specified file.
 
Methods inherited from class org.jhotdraw.app.AbstractView
activate, deactivate, dispose, execute, getAction, getApplication, getComponent, getFile, getMultipleOpenId, getOpenChooser, getSaveChooser, getTitle, hasUnsavedChanges, isShowing, markChangesAsSaved, putAction, setApplication, setFile, setMultipleOpenId, setShowing, setTitle, start, stop
 
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, 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, setName, 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.app.View
addPropertyChangeListener, isEnabled, removePropertyChangeListener, setEnabled
 

Constructor Detail

DrawView

public DrawView()
Creates a new view.

Method Detail

init

public void init()
Initializes the view.

Specified by:
init in interface View
Overrides:
init in class AbstractView

createDrawing

protected Drawing createDrawing()
Creates a new Drawing for this view.


getEditor

public DrawingEditor getEditor()

setEditor

public void setEditor(DrawingEditor newValue)

createPageable

public java.awt.print.Pageable createPageable()
Creates a Pageable object for printing the view.


setHasUnsavedChanges

protected void setHasUnsavedChanges(boolean newValue)
Overrides:
setHasUnsavedChanges in class AbstractView

write

public void write(java.io.File f)
           throws java.io.IOException
Writes the view to the specified file.

Throws:
java.io.IOException

read

public void read(java.io.File f)
          throws java.io.IOException
Reads the view from the specified file.

Throws:
java.io.IOException

setDrawingEditor

public void setDrawingEditor(DrawingEditor newValue)
Sets a drawing editor for the view.


getDrawingEditor

public DrawingEditor getDrawingEditor()
Gets the drawing editor of the view.


clear

public void clear()
Clears the view.


createOpenChooser

protected javax.swing.JFileChooser createOpenChooser()
Overrides:
createOpenChooser in class AbstractView

createSaveChooser

protected javax.swing.JFileChooser createSaveChooser()
Overrides:
createSaveChooser in class AbstractView

canSaveTo

public boolean canSaveTo(java.io.File file)
Description copied from interface: View
Returns true, if this view can be saved to the specified file. A reason why the view can't be saved to a file, is that the view is unable to write to a file with the given filename extension without losing data.

The SaveAction uses this method to decide, whether to display a file dialog before saving the file.

Specified by:
canSaveTo in interface View
Overrides:
canSaveTo in class AbstractView
Parameters:
file - A file. If this parameter is null, a NullPointerException is thrown.

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