模块 java.desktop
 java.awt

类 Canvas

所有已实现的接口:
ImageObserver , MenuContainer , Serializable , Accessible

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

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

自从:
1.0
参见:
  • 构造方法详细信息

  • 方法详情

    • addNotify

      public void addNotify()
      创建画布的对等体。这个点允许你改变画布的用户界面而不改变它的功能。
      重写:
      addNotify 在类 Component
      参见:
    • paint

      public void paint(Graphics  g)
      绘制此画布。

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

      重写:
      paint 在类 Component
      参数:
      g - 指定的图形上下文
      参见:
    • update

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

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

      重写:
      update 在类 Component
      参数:
      g - 指定的图形上下文
      参见:
    • createBufferStrategy

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

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

      参数:
      numBuffers - 要创建的缓冲区数,包括前端缓冲区
      抛出:
      IllegalArgumentException - 如果 numBuffers 小于 1。
      IllegalStateException - 如果组件不可显示
      自从:
      1.4
      参见:
    • createBufferStrategy

      public void createBufferStrategy(int numBuffers, BufferCapabilities  caps) throws AWTException
      为具有所需缓冲功能的组件创建新的多缓冲策略。这很有用,例如,如果只需要加速内存或翻页(由缓冲区功能指定)。

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

      参数:
      numBuffers - 要创建的缓冲区数
      caps - 创建缓冲策略所需的功能;不能是null
      抛出:
      AWTException - 如果无法支持或满足所提供的功能;这可能会发生,例如,如果当前可用的加速内存不足,或者如果指定了页面翻转但不可能。
      IllegalArgumentException - 如果 numBuffers 小于 1,或者如果 caps 是 null
      自从:
      1.4
      参见:
    • getBufferStrategy

      public BufferStrategy  getBufferStrategy()
      返回此组件使用的 BufferStrategy。如果尚未创建或已处置 BufferStrategy,则此方法将返回 null。
      返回:
      该组件使用的缓冲策略
      自从:
      1.4
      参见:
    • getAccessibleContext

      public AccessibleContext  getAccessibleContext()
      获取与此 Canvas 关联的 AccessibleContext。对于画布,AccessibleContext 采用 AccessibleAWTCanvas 的形式。如有必要,将创建一个新的 AccessibleAWTCanvas 实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      重写:
      getAccessibleContext 在类 Component
      返回:
      用作此 Canvas 的 AccessibleContext 的 AccessibleAWTCanvas
      自从:
      1.3