|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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.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 的用户界面,而不更改其功能。
paint
public void paint(Graphics g)
-
绘制这个 canvas。
为
Canvas
创建子类的大多数应用程序应该重写此方法,以便执行某个有用的操作(通常是 canvas 的自定义绘制操作)。默认操作是清理 canvas。重写此方法的应用程序不需要调用 super.paint(g)。 -
- 参数:
-
g
- 指定的 Graphics 上下文 - 另请参见:
-
update(Graphics)
,Component.paint(Graphics)
update
public void update(Graphics g)
-
更新此 canvas。
调用此方法以响应对
repaint
的调用。首先通过使用背景色填充 canvas 来清理它,然后通过调用此 canvas 的paint
方法重绘它。注:重写此方法的应用程序应该调用 super.update(g),或者将上面描述的功能合并到其自身的代码中。 -
- 参数:
-
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)