JavaTM 2 Platform
Standard Ed. 5.0

java.awt
类 Canvas

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Canvas
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible

public class Canvas
extends Component
implements Accessible

Canvas 组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。

应用程序必须为 Canvas 类创建子类,以获得有用的功能(如创建自定义组件)。必须重写 paint 方法,以便在 canvas 上执行自定义图形。

从以下版本开始:
JDK1.0
另请参见:
序列化表格

嵌套类摘要
protected  class Canvas.AccessibleAWTCanvas
          此类实现对 Canvas 类的可访问性支持。
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
Canvas()
          构造一个新的 Canvas。
Canvas(GraphicsConfiguration config)
          构造一个给定了 GraphicsConfiguration 对象的 Canvas。
 
方法摘要
 void addNotify()
          创建 canvas 的同位体。
 void createBufferStrategy(int numBuffers)
          创建一个新的策略,用于对此组件的多次缓冲。
 void createBufferStrategy(int numBuffers, BufferCapabilities caps)
          创建一个新的策略,使用所需的缓冲区容量对此组件进行多次缓冲。
 AccessibleContext getAccessibleContext()
          获得与此 Canvas 相关的 AccessibleContext。
 BufferStrategy getBufferStrategy()
           
 void paint(Graphics g)
          绘制这个 canvas。
 void update(Graphics g)
          更新此 canvas。
 
从类 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, 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, 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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Canvas

public Canvas()
构造一个新的 Canvas。


Canvas

public Canvas(GraphicsConfiguration config)
构造一个给定了 GraphicsConfiguration 对象的 Canvas。

参数:
config - 对 GraphicsConfiguration 对象的引用。
另请参见:
GraphicsConfiguration
方法详细信息

addNotify

public void addNotify()
创建 canvas 的同位体。此同位体允许您更改 canvas 的用户界面,而不更改其功能。

覆盖:
Component 中的 addNotify
另请参见:
Toolkit.createCanvas(java.awt.Canvas), Component.getToolkit()

paint

public void paint(Graphics g)
绘制这个 canvas。

Canvas 创建子类的大多数应用程序应该重写此方法,以便执行某个有用的操作(通常是 canvas 的自定义绘制操作)。默认操作是清理 canvas。重写此方法的应用程序不需要调用 super.paint(g)。

覆盖:
Component 中的 paint
参数:
g - 指定的 Graphics 上下文
另请参见:
update(Graphics), Component.paint(Graphics)

update

public void update(Graphics g)
更新此 canvas。

调用此方法以响应对 repaint 的调用。首先通过使用背景色填充 canvas 来清理它,然后通过调用此 canvas 的 paint 方法重绘它。注:重写此方法的应用程序应该调用 super.update(g),或者将上面描述的功能合并到其自身的代码中。

覆盖:
Component 中的 update
参数:
g - 指定的 Graphics 上下文
另请参见:
paint(Graphics), Component.update(Graphics)

createBufferStrategy

public void createBufferStrategy(int numBuffers)
创建一个新的策略,用于对此组件的多次缓冲。多次缓冲对于提高渲染性能很有用。此方法试图使用提供的缓冲区数创建最佳可用策略。它始终创建一个使用该数量缓冲区的 BufferStrategy。首先尝试页面翻转策略,然后尝试使用加速缓冲区的位图传输策略。最后,使用非加速的位图传输策略。

每次调用此方法时,都会丢弃此组件现有的缓冲区策略。

参数:
numBuffers - 要创建的缓冲区数,包括前台缓冲区
抛出:
IllegalArgumentException - 如果 numBuffers 小于 1。
IllegalStateException - 如果组件不是可显示的
从以下版本开始:
1.4
另请参见:
Component.isDisplayable(), getBufferStrategy()

createBufferStrategy

public void createBufferStrategy(int numBuffers,
                                 BufferCapabilities caps)
                          throws AWTException
创建一个新的策略,使用所需的缓冲区容量对此组件进行多次缓冲。例如,如果只需加速内存或页面翻转(由缓冲区容量指定),则这种策略很有用。

每次调用此方法时,都会丢弃此组件现有的缓冲区策略。

参数:
numBuffers - 要创建的缓冲区数量
caps - 创建缓冲区策略所要求的容量;不能为 null
抛出:
AWTException - 如果提供的容量不受支持或不能满足要求;例如,如果当前可用的加速内存不够,或者不可能进行指定的页面翻转时,可能出现这种情况。
IllegalArgumentException - 如果 numBuffers 小于 1,或者 caps 为 null
从以下版本开始:
1.4
另请参见:
getBufferStrategy()

getBufferStrategy

public BufferStrategy getBufferStrategy()
返回:
此组件使用的缓冲区策略
从以下版本开始:
1.4
另请参见:
createBufferStrategy(int)

getAccessibleContext

public AccessibleContext getAccessibleContext()
获得与此 Canvas 相关的 AccessibleContext。对于 canvas 来说,AccessibleContext 采用 AccessibleAWTCanvas 的形式。如果必要,创建一个新的 AccessibleAWTCanvas 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
Component 中的 getAccessibleContext
返回:
一个 AccessibleAWTCanvas,它充当此 Canvas 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策