JSci.awt
Class DoubleBufferedCanvas

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Canvas
          extended by JSci.awt.DoubleBufferedCanvas
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
CategoryGraph2D, ContourPlot, Graph2D, Histogram, LineGraph3D, LineTrace

public abstract class DoubleBufferedCanvas
extends java.awt.Canvas

The DoubleBufferedCanvas class provides double buffering functionality. Painting events simply cause the offscreen buffer to be painted. It is the responsibility of sub-classes to explicitly update the offscreen buffer. The offscreen buffer can be updated in two ways.

  1. Override the offscreenPaint method and use the redraw method. Passive rendering.
  2. Draw to the graphics context returned by the getOffscreenGraphics method and use the repaint method. Active rendering.
The first way alone should be sufficient for most purposes.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
DoubleBufferedCanvas()
          Constructs a double buffered canvas.
 
Method Summary
protected  java.awt.Graphics getOffscreenGraphics()
          Returns the offscreen graphics context or null if not available.
protected abstract  void offscreenPaint(java.awt.Graphics g)
          Paints the canvas off-screen.
 void paint(java.awt.Graphics g)
          Paints the canvas using double buffering.
 void print(java.awt.Graphics g)
          Prints the canvas.
 void redraw()
          Redraws the canvas.
 void update(java.awt.Graphics g)
          Updates 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, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DoubleBufferedCanvas

public DoubleBufferedCanvas()
Constructs a double buffered canvas.

Method Detail

paint

public final void paint(java.awt.Graphics g)
Paints the canvas using double buffering.

Overrides:
paint in class java.awt.Canvas
See Also:
offscreenPaint(java.awt.Graphics)

update

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

Overrides:
update in class java.awt.Canvas

print

public final void print(java.awt.Graphics g)
Prints the canvas.

Overrides:
print in class java.awt.Component

redraw

public final void redraw()
Redraws the canvas. This method may safely be called from outside the event-dispatching thread.


getOffscreenGraphics

protected final java.awt.Graphics getOffscreenGraphics()
Returns the offscreen graphics context or null if not available.


offscreenPaint

protected abstract void offscreenPaint(java.awt.Graphics g)
Paints the canvas off-screen. Override this method instead of paint(Graphics g).