objectdraw
Class AWTDrawingCanvas

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Canvas
          extended byobjectdraw.AWTDrawingCanvas
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ComponentListener, DrawingCanvas, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
AWTFrameCanvas

public class AWTDrawingCanvas
extends java.awt.Canvas
implements DrawingCanvas, java.awt.event.ComponentListener

An AWTDrawingCanvas is an AWT GUI component designed for displaying simple graphics created by constructing Lines, FilledOvals, FilledRects, or any of the other objectdraw classes that implement DrawableInterface. A similar JDrawingCanvas is provided to support use of Swing. Both of these classes implement the DrawingCanvas interface and delegate most of the work of maintaining a description of the graphics being displayed to an object of the CanvasManager class.

Version:
1.1.2 released July 2006
See Also:
DrawingCanvas, JDrawingCanvas, Serialized Form

Field Summary
static java.awt.Dimension DEFAULT_PREFERRED_SIZE
          default size for a JDrawingCanvas
 int REPAINT_DELAY
          The amount by which repaint requests should be delayed
 
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
AWTDrawingCanvas()
          Creates a new DrawingCanvas.
AWTDrawingCanvas(java.awt.Dimension size)
          Creates a new DrawingCanvas.
AWTDrawingCanvas(int width, int height)
          Creates a new DrawingCanvas.
 
Method Summary
 void clear()
          Removes all objects from the DrawingCanvas.
 void componentHidden(java.awt.event.ComponentEvent e)
          Invoked when component has been hidden.
 void componentMoved(java.awt.event.ComponentEvent e)
          Invoked when component has been moved.
 void componentResized(java.awt.event.ComponentEvent e)
          Invoked when component has been resized.
 void componentShown(java.awt.event.ComponentEvent e)
          Invoked when component has been shown.
 void disableAutoRepaint()
          Requests that the DrawingCanvas not be automatically repainted after every change.
 void enableAutoRepaint()
          Requests that the DrawingCanvas to be automatically repainted after every change without specifically calling repaint().
 objectdraw.CanvasManager getCanvasContent()
          Retrieves the CanvasManager that keeps track of all of the Drawable objects currently associated with this DrawingCanvas.
 DrawableIterator getDrawableIterator()
          Creates and returns an iterator of all the objects on the DrawingCanvas
 int getHeight()
          Determine the current height of a DrawingCanvas.
 java.awt.Dimension getPreferredSize()
          Retrieves the drawing canvas' preferred size.
 int getWidth()
          Determine the current width of a DrawingCanvas.
 boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
          Notifies the CanvasManager of a change in the state of an image being loaded and then calls the native java method imageUpdate.
 void paint(java.awt.Graphics g)
          Paints the canvas by calling the real paint method in the CanvasManager
 void repaint()
          Requests that the contents of the canvas be redrawn.
 void update(java.awt.Graphics g)
          Paints the canvas.
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, dispatchEvent, doLayout, enable, enable, enableInputMethods, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getX, getY, gotFocus, handleEvent, hasFocus, hide, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface objectdraw.DrawingCanvas
addComponentListener, addKeyListener, addMouseListener, addMouseMotionListener, createImage, getGraphics, getSize, prepareImage, requestFocus, requestFocusInWindow
 

Field Detail

DEFAULT_PREFERRED_SIZE

public static final java.awt.Dimension DEFAULT_PREFERRED_SIZE
default size for a JDrawingCanvas


REPAINT_DELAY

public final int REPAINT_DELAY
The amount by which repaint requests should be delayed

See Also:
Constant Field Values
Constructor Detail

AWTDrawingCanvas

public AWTDrawingCanvas()
Creates a new DrawingCanvas.


AWTDrawingCanvas

public AWTDrawingCanvas(int width,
                        int height)
Creates a new DrawingCanvas.

Parameters:
width - the canvas' preferred width
height - the canvas' preferred height

AWTDrawingCanvas

public AWTDrawingCanvas(java.awt.Dimension size)
Creates a new DrawingCanvas.

Parameters:
size - the canvas' preferred dimensions
Method Detail

getCanvasContent

public objectdraw.CanvasManager getCanvasContent()
Description copied from interface: DrawingCanvas
Retrieves the CanvasManager that keeps track of all of the Drawable objects currently associated with this DrawingCanvas.

Specified by:
getCanvasContent in interface DrawingCanvas
Returns:
the DrawingCanvas' manager

getPreferredSize

public java.awt.Dimension getPreferredSize()
Retrieves the drawing canvas' preferred size.

Returns:
the canvas' preferred size

repaint

public void repaint()
Description copied from interface: DrawingCanvas
Requests that the contents of the canvas be redrawn. It is not necessary to invoke this method unless disableAutoRepaint() has been invoked. In its default state, a DrawingCanvas redraws the display automatically after any change occurs.

Specified by:
repaint in interface DrawingCanvas

clear

public void clear()
Description copied from interface: DrawingCanvas
Removes all objects from the DrawingCanvas.

Specified by:
clear in interface DrawingCanvas

paint

public void paint(java.awt.Graphics g)
Paints the canvas by calling the real paint method in the CanvasManager

Parameters:
g - the canvas' graphics context.

update

public void update(java.awt.Graphics g)
Paints the canvas.

Parameters:
g - the canvas' graphics context

enableAutoRepaint

public void enableAutoRepaint()
Description copied from interface: DrawingCanvas
Requests that the DrawingCanvas to be automatically repainted after every change without specifically calling repaint(). This is the default setting.

Specified by:
enableAutoRepaint in interface DrawingCanvas

disableAutoRepaint

public void disableAutoRepaint()
Description copied from interface: DrawingCanvas
Requests that the DrawingCanvas not be automatically repainted after every change. When this mode is enabled, an explicit call to repaint() must be made in order to see changes made to the objects displayed on the DrawingCanvas. By default, auto-repaint is enabled in a newly constructed DrawingCanvas.

Specified by:
disableAutoRepaint in interface DrawingCanvas

getWidth

public int getWidth()
Description copied from interface: DrawingCanvas
Determine the current width of a DrawingCanvas.

Specified by:
getWidth in interface DrawingCanvas

getHeight

public int getHeight()
Description copied from interface: DrawingCanvas
Determine the current height of a DrawingCanvas.

Specified by:
getHeight in interface DrawingCanvas

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Invoked when component has been resized.

Specified by:
componentResized in interface java.awt.event.ComponentListener
Parameters:
e - event triggered by resizing

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Invoked when component has been moved.

Specified by:
componentMoved in interface java.awt.event.ComponentListener
Parameters:
e - event triggered by moving

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Invoked when component has been shown.

Specified by:
componentShown in interface java.awt.event.ComponentListener
Parameters:
e - event triggered by showing

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Invoked when component has been hidden.

Specified by:
componentHidden in interface java.awt.event.ComponentListener
Parameters:
e - event triggered by hiding

imageUpdate

public boolean imageUpdate(java.awt.Image img,
                           int infoflags,
                           int x,
                           int y,
                           int width,
                           int height)
Notifies the CanvasManager of a change in the state of an image being loaded and then calls the native java method imageUpdate.

Specified by:
imageUpdate in interface java.awt.image.ImageObserver
Parameters:
img - the image being observed.
infoflags - - see Sun documentation for more information.
x - - the x coordinate.
y - - the y coordinate.
width - - the width.
height - - the height.
Returns:
false if the infoflags indicate that the image is completely loaded; true otherwise.

getDrawableIterator

public DrawableIterator getDrawableIterator()
Description copied from interface: DrawingCanvas
Creates and returns an iterator of all the objects on the DrawingCanvas

Specified by:
getDrawableIterator in interface DrawingCanvas
Returns:
an iterator of all of the CanvasManager's objects