模块  java.desktop
软件包  java.awt

Class Canvas

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    public class Canvas
    extends Component
    implements Accessible
    Canvas组件表示应用程序可以在其上绘制的屏幕的空白矩形区域,或者应用程序可以从中捕获来自用户的输入事件。

    应用程序必须子类化Canvas类才能获得有用的功能,例如创建自定义组件。 必须重写paint方法才能在画布上执行自定义图形。

    从以下版本开始:
    1.0
    另请参见:
    Serialized Form
    • 方法详细信息

      • addNotify

        public void addNotify()
        创建画布的同行。 此对等体允许您更改画布的用户界面而不更改其功能。
        重写:
        addNotifyComponent
        另请参见:
        Component.getToolkit()
      • paint

        public void paint​(Graphics g)
        绘制这个画布。

        子类Canvas大多数应用程序应该重写此方法,以便执行一些有用的操作(通常是画布的自定义绘制)。 默认操作只是清除画布。 覆盖此方法的应用程序不需要调用super.paint(g)。

        重写:
        paint在类 Component
        参数
        g - 指定的Graphics上下文
        另请参见:
        update(Graphics)Component.paint(Graphics)
      • update

        public void update​(Graphics g)
        更新此画布。

        调用此方法以响应对repaint的调用。 首先使用背景颜色填充画布,然后通过调用此画布的paint方法完全重paint布。 注意:覆盖此方法的应用程序应调用super.update(g)或将上述功能合并到自己的代码中。

        重写:
        update在类 Component
        参数
        g - 指定的Graphics上下文
        另请参见:
        paint(Graphics)Component.update(Graphics)
      • createBufferStrategy

        public void createBufferStrategy​(int numBuffers)
        为此组件创建多缓冲的新策略。 多缓冲对于渲染性能很有用。 此方法尝试使用提供的缓冲区数创建可用的最佳策略。 它将始终创建具有该数量的缓冲区的BufferStrategy 首先尝试翻页策略,然后尝试使用加速缓冲区的blitting策略。 最后,使用了未加速的blitting策略。

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

        参数
        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()
        返回此组件使用的BufferStrategy 如果尚未创建或已处置BufferStrategy则此方法将返回null。
        结果
        此组件使用的缓冲区策略
        从以下版本开始:
        1.4
        另请参见:
        createBufferStrategy(int)
      • getAccessibleContext

        public AccessibleContext getAccessibleContext()
        获取与此Canvas关联的AccessibleContext。 对于画布,AccessibleContext采用AccessibleAWTCanvas的形式。 如有必要,将创建一个新的AccessibleAWTCanvas实例。
        Specified by:
        getAccessibleContext在界面 Accessible
        重写:
        getAccessibleContext在类 Component
        结果
        一个AccessibleAWTCanvas,用作此Canvas的AccessibleContext
        从以下版本开始:
        1.3