public class Canvas extends Component implements Accessible
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.
Modifier and Type | Class and Description |
---|---|
protected class |
Canvas.AccessibleAWTCanvas
This class implements accessibility support for the
Canvas class. |
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
Canvas()
Constructs a new Canvas.
|
Canvas(GraphicsConfiguration config)
Constructs a new Canvas given a GraphicsConfiguration object.
|
Modifier and Type | Method and Description |
---|---|
void |
addNotify()
Creates the peer of the canvas.
|
void |
createBufferStrategy(int numBuffers)
Creates a new strategy for multi-buffering on this component.
|
void |
createBufferStrategy(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()
Returns the
BufferStrategy used by this component. |
void |
paint(Graphics g)
Paints this canvas.
|
void |
update(Graphics g)
Updates this canvas.
|
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, 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, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, 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
public Canvas()
public Canvas(GraphicsConfiguration config)
config
- a reference to a GraphicsConfiguration object.GraphicsConfiguration
public void addNotify()
addNotify
in class Component
Toolkit.createCanvas(java.awt.Canvas)
,
Component.getToolkit()
public void paint(Graphics g)
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).
paint
in class Component
g
- the specified Graphics contextupdate(Graphics)
,
Component.paint(Graphics)
public void update(Graphics g)
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's
paint
method.
Note: applications that override this method should either call
super.update(g) or incorporate the functionality described
above into their own code.
update
in class Component
g
- the specified Graphics contextpaint(Graphics)
,
Component.update(Graphics)
public void createBufferStrategy(int numBuffers)
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.
numBuffers
- number of buffers to create, including the front bufferIllegalArgumentException
- if numBuffers is less than 1.IllegalStateException
- if the component is not displayableComponent.isDisplayable()
,
getBufferStrategy()
public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
Each time this method is called, the existing buffer strategy for this component is discarded.
numBuffers
- number of buffers to createcaps
- the required capabilities for creating the buffer strategy;
cannot be null
AWTException
- 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
- if numBuffers is less than 1, or if
caps is null
getBufferStrategy()
public BufferStrategy getBufferStrategy()
BufferStrategy
used by this component. This
method will return null if a BufferStrategy
has not yet
been created or has been disposed.createBufferStrategy(int)
public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class Component
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.