Canvas (Java 2 Platform SE 5.0) (original) (raw)


java.awt

Class Canvas

java.lang.Object extended by java.awt.Component extended by java.awt.Canvas

All Implemented Interfaces:

ImageObserver, MenuContainer, Serializable, Accessible


public class Canvas

extends Component

implements Accessible

A Canvas component represents a blank rectangular area of the screen onto which the application can draw or from which the application can trap input events from the user.

An application must subclass the Canvas class in order to get useful functionality such as creating a custom component. The paint method must be overridden in order to perform custom graphics on the canvas.

Since:

JDK1.0

See Also:

Serialized Form


Nested Class Summary
protected class Canvas.AccessibleAWTCanvas This class implements accessibility support for the Canvas class.
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, 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
Canvas() Constructs a new Canvas.
Canvas(GraphicsConfiguration config) Constructs a new Canvas given a GraphicsConfiguration object.
Method Summary
void addNotify() Creates the peer of the canvas.
void createBufferStrategy(int numBuffers) Creates a new strategy for multi-buffering on this component.
void [createBufferStrategy](../../java/awt/Canvas.html#createBufferStrategy%28int, java.awt.BufferCapabilities%29)(int numBuffers,BufferCapabilities caps) Creates a new strategy for multi-buffering on this component with the required buffer capabilities.
AccessibleContext getAccessibleContext() Gets the AccessibleContext associated with this Canvas.
BufferStrategy getBufferStrategy()
void paint(Graphics g) Paints this canvas.
void update(Graphics g) Updates this canvas.
Methods inherited from class java.awt.Component
[action](../../java/awt/Component.html#action%28java.awt.Event, java.lang.Object%29), add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, [addPropertyChangeListener](../../java/awt/Component.html#addPropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29), applyComponentOrientation, areFocusTraversalKeysSet, bounds, [checkImage](../../java/awt/Component.html#checkImage%28java.awt.Image, java.awt.image.ImageObserver%29), [checkImage](../../java/awt/Component.html#checkImage%28java.awt.Image, int, int, java.awt.image.ImageObserver%29), [coalesceEvents](../../java/awt/Component.html#coalesceEvents%28java.awt.AWTEvent, java.awt.AWTEvent%29), [contains](../../java/awt/Component.html#contains%28int, int%29), contains, createImage, [createImage](../../java/awt/Component.html#createImage%28int, int%29), [createVolatileImage](../../java/awt/Component.html#createVolatileImage%28int, int%29), [createVolatileImage](../../java/awt/Component.html#createVolatileImage%28int, int, java.awt.ImageCapabilities%29), deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, boolean, boolean%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, byte, byte%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, char, char%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, double, double%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, float, float%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, int, int%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, long, long%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, java.lang.Object, java.lang.Object%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, short, short%29), getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, [getComponentAt](../../java/awt/Component.html#getComponentAt%28int, int%29), 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](../../java/awt/Component.html#gotFocus%28java.awt.Event, java.lang.Object%29), handleEvent, hasFocus, hide, [imageUpdate](../../java/awt/Component.html#imageUpdate%28java.awt.Image, int, int, int, int, int%29), [inside](../../java/awt/Component.html#inside%28int, int%29), invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, [keyDown](../../java/awt/Component.html#keyDown%28java.awt.Event, int%29), [keyUp](../../java/awt/Component.html#keyUp%28java.awt.Event, int%29), layout, list, list, [list](../../java/awt/Component.html#list%28java.io.PrintStream, int%29), list, [list](../../java/awt/Component.html#list%28java.io.PrintWriter, int%29), [locate](../../java/awt/Component.html#locate%28int, int%29), location, [lostFocus](../../java/awt/Component.html#lostFocus%28java.awt.Event, java.lang.Object%29), minimumSize, [mouseDown](../../java/awt/Component.html#mouseDown%28java.awt.Event, int, int%29), [mouseDrag](../../java/awt/Component.html#mouseDrag%28java.awt.Event, int, int%29), [mouseEnter](../../java/awt/Component.html#mouseEnter%28java.awt.Event, int, int%29), [mouseExit](../../java/awt/Component.html#mouseExit%28java.awt.Event, int, int%29), [mouseMove](../../java/awt/Component.html#mouseMove%28java.awt.Event, int, int%29), [mouseUp](../../java/awt/Component.html#mouseUp%28java.awt.Event, int, int%29), [move](../../java/awt/Component.html#move%28int, int%29), nextFocus, paintAll, paramString, postEvent, preferredSize, [prepareImage](../../java/awt/Component.html#prepareImage%28java.awt.Image, java.awt.image.ImageObserver%29), [prepareImage](../../java/awt/Component.html#prepareImage%28java.awt.Image, int, int, java.awt.image.ImageObserver%29), print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, [removePropertyChangeListener](../../java/awt/Component.html#removePropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29), repaint, [repaint](../../java/awt/Component.html#repaint%28int, int, int, int%29), repaint, [repaint](../../java/awt/Component.html#repaint%28long, int, int, int, int%29), requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, [reshape](../../java/awt/Component.html#reshape%28int, int, int, int%29), resize, [resize](../../java/awt/Component.html#resize%28int, int%29), setBackground, [setBounds](../../java/awt/Component.html#setBounds%28int, int, int, int%29), setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, [setFocusTraversalKeys](../../java/awt/Component.html#setFocusTraversalKeys%28int, java.util.Set%29), setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, [setLocation](../../java/awt/Component.html#setLocation%28int, int%29), setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, [setSize](../../java/awt/Component.html#setSize%28int, int%29), 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](../../java/lang/Object.html#wait%28long, int%29)
Constructor Detail

Canvas

public Canvas()

Constructs a new Canvas.


Canvas

public Canvas(GraphicsConfiguration config)

Constructs a new Canvas given a GraphicsConfiguration object.

Parameters:

config - a reference to a GraphicsConfiguration object.

See Also:

GraphicsConfiguration

Method Detail

addNotify

public void addNotify()

Creates the peer of the canvas. This peer allows you to change the user interface of the canvas without changing its functionality.

Overrides:

[addNotify](../../java/awt/Component.html#addNotify%28%29) in class [Component](../../java/awt/Component.html "class in java.awt")

See Also:

Toolkit.createCanvas(java.awt.Canvas), Component.getToolkit()


paint

public void paint(Graphics g)

Paints this canvas.

Most applications that subclass Canvas should override this method in order to perform some useful operation (typically, custom painting of the canvas). The default operation is simply to clear the canvas. Applications that override this method need not call super.paint(g).

Overrides:

[paint](../../java/awt/Component.html#paint%28java.awt.Graphics%29) in class [Component](../../java/awt/Component.html "class in java.awt")

Parameters:

g - the specified Graphics context

See Also:

update(Graphics), Component.paint(Graphics)


update

public void update(Graphics g)

Updates this canvas.

This method is called in response to a call to repaint. The canvas is first cleared by filling it with the background color, and then completely redrawn by calling this canvas'spaint method. Note: applications that override this method should either call super.update(g) or incorporate the functionality described above into their own code.

Overrides:

[update](../../java/awt/Component.html#update%28java.awt.Graphics%29) in class [Component](../../java/awt/Component.html "class in java.awt")

Parameters:

g - the specified Graphics context

See Also:

paint(Graphics), Component.update(Graphics)


createBufferStrategy

public void createBufferStrategy(int numBuffers)

Creates a new strategy for multi-buffering on this component. Multi-buffering is useful for rendering performance. This method attempts to create the best strategy available with the number of buffers supplied. It will always create a BufferStrategy with that number of buffers. A page-flipping strategy is attempted first, then a blitting strategy using accelerated buffers. Finally, an unaccelerated blitting strategy is used.

Each time this method is called, the existing buffer strategy for this component is discarded.

Parameters:

numBuffers - number of buffers to create, including the front buffer

Throws:

[IllegalArgumentException](../../java/lang/IllegalArgumentException.html "class in java.lang") - if numBuffers is less than 1.

[IllegalStateException](../../java/lang/IllegalStateException.html "class in java.lang") - if the component is not displayable

Since:

1.4

See Also:

Component.isDisplayable(), getBufferStrategy()


createBufferStrategy

public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException

Creates a new strategy for multi-buffering on this component with the required buffer capabilities. This is useful, for example, if only accelerated memory or page flipping is desired (as specified by the buffer capabilities).

Each time this method is called, the existing buffer strategy for this component is discarded.

Parameters:

numBuffers - number of buffers to create

caps - the required capabilities for creating the buffer strategy; cannot be null

Throws:

[AWTException](../../java/awt/AWTException.html "class in java.awt") - if the capabilities supplied could not be supported or met; this may happen, for example, if there is not enough accelerated memory currently available, or if page flipping is specified but not possible.

[IllegalArgumentException](../../java/lang/IllegalArgumentException.html "class in java.lang") - if numBuffers is less than 1, or if caps is null

Since:

1.4

See Also:

getBufferStrategy()


getBufferStrategy

public BufferStrategy getBufferStrategy()

Returns:

the buffer strategy used by this component

Since:

1.4

See Also:

createBufferStrategy(int)


getAccessibleContext

public AccessibleContext getAccessibleContext()

Gets the AccessibleContext associated with this Canvas. For canvases, the AccessibleContext takes the form of an AccessibleAWTCanvas. A new AccessibleAWTCanvas instance is created if necessary.

Specified by:

[getAccessibleContext](../../javax/accessibility/Accessible.html#getAccessibleContext%28%29) in interface [Accessible](../../javax/accessibility/Accessible.html "interface in javax.accessibility")

Overrides:

[getAccessibleContext](../../java/awt/Component.html#getAccessibleContext%28%29) in class [Component](../../java/awt/Component.html "class in java.awt")

Returns:

an AccessibleAWTCanvas that serves as the AccessibleContext of this Canvas



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.