JHotDraw 7.4.1

Class ImageTool

  extended by org.jhotdraw.beans.AbstractBean
      extended by org.jhotdraw.draw.tool.AbstractTool
          extended by org.jhotdraw.draw.tool.CreationTool
              extended by org.jhotdraw.draw.tool.ImageTool
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, Tool

public class ImageTool
extends CreationTool

A tool to create new figures that implement the ImageHolderFigure interface, such as ImageFigure. The figure to be created is specified by a prototype.

Immediately, after the ImageTool has been activated, it opens a JFileChooser, letting the user specify an image file. The the user then performs the following mouse gesture:

  1. Press the mouse button and drag the mouse over the DrawingView. This defines the bounds of the created figure.

Design Patterns

The ImageTool creates new figures by cloning a prototype ImageHolderFigure object.
Prototype: ImageHolderFigure; Client: ImageTool.

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

Field Summary
protected  javax.swing.JFileChooser fileChooser
protected  java.awt.FileDialog fileDialog
protected  boolean useFileDialog
protected  java.lang.Thread workerThread
Fields inherited from class org.jhotdraw.draw.tool.CreationTool
createdFigure, minimalSize, minimalSizeTreshold, presentationName, prototype, prototypeAttributes
Fields inherited from class org.jhotdraw.draw.tool.AbstractTool
anchor, editor, isWorking, listenerList
Fields inherited from class org.jhotdraw.beans.AbstractBean
Constructor Summary
ImageTool(ImageHolderFigure prototype)
          Creates a new instance.
ImageTool(ImageHolderFigure prototype, java.util.Map<AttributeKey,java.lang.Object> attributes)
          Creates a new instance.
Method Summary
 void activate(DrawingEditor editor)
          Activates the tool for the given editor.
 boolean isUseFileDialog()
 void setUseFileDialog(boolean newValue)
Methods inherited from class org.jhotdraw.draw.tool.CreationTool
createFigure, creationFinished, deactivate, getAddedFigure, getCreatedFigure, getPrototype, isToolDoneAfterCreation, mouseDragged, mousePressed, mouseReleased, setToolDoneAfterCreation, updateCursor
Methods inherited from class org.jhotdraw.draw.tool.AbstractTool
addToolListener, addUndoableEditListener, constrainPoint, constrainPoint, createActionMap, createInputMap, draw, editCopy, editCut, editDelete, editDuplicate, editPaste, fireAreaInvalidated, fireAreaInvalidated, fireBoundsInvalidated, fireToolDone, fireToolStarted, getActionMap, getDrawing, getEditor, getInputMap, getToolTipText, getView, isActive, keyPressed, keyReleased, keyTyped, maybeFireBoundsInvalidated, mouseClicked, mouseEntered, mouseExited, mouseMoved, removeToolListener, removeUndoableEditListener, setActionMap, setInputMap, supportsHandleInteraction, viewToDrawing
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

Field Detail


protected java.awt.FileDialog fileDialog


protected javax.swing.JFileChooser fileChooser


protected boolean useFileDialog


protected java.lang.Thread workerThread
Constructor Detail


public ImageTool(ImageHolderFigure prototype)
Creates a new instance.


public ImageTool(ImageHolderFigure prototype,
                 java.util.Map<AttributeKey,java.lang.Object> attributes)
Creates a new instance.

Method Detail


public void setUseFileDialog(boolean newValue)


public boolean isUseFileDialog()


public void activate(DrawingEditor editor)
Description copied from interface: Tool
Activates the tool for the given editor. This method is called whenever the user switches to this tool.

Specified by:
activate in interface Tool
activate in class CreationTool

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