JavaTM Platform
Standard Ed. 6

java.awt
类 Component.FlipBufferStrategy

java.lang.Object
  继承者 java.awt.image.BufferStrategy
      继承者 java.awt.Component.FlipBufferStrategy
正在封闭类:
Component

protected class Component.FlipBufferStrategy
extends BufferStrategy

在组件上翻转缓冲区的内部类。该组件必须是 CanvasWindow

从以下版本开始:
1.4
另请参见:
Canvas, Window, BufferStrategy

字段摘要
protected  BufferCapabilities caps
          缓冲能力。
protected  Image drawBuffer
          绘制缓冲区。
protected  VolatileImage drawVBuffer
          作为可变图像的绘制缓冲区。
protected  int numBuffers
          缓冲区的数目。
protected  boolean validatedContents
          绘制缓冲区是否已从最近的丢失状态还原。
 
构造方法摘要
protected Component.FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
          为此组件创建新的翻转缓冲区策略。
 
方法摘要
 boolean contentsLost()
          返回上次调用 getDrawGraphics 后绘制缓冲区是否丢失。
 boolean contentsRestored()
          返回绘制缓冲区最近是否从丢失状态恢复,并重新初始化为默认背景色(白色)。
protected  void createBuffers(int numBuffers, BufferCapabilities caps)
          创建一个或多个具有给定能力的、复杂的翻转缓冲区。
protected  void destroyBuffers()
          销毁通过此对象所创建的缓冲区。
 void dispose()
          释放当前由此 BufferStrategy 使用的系统资源,并从关联 Component 中移除它们。
protected  void flip(BufferCapabilities.FlipContents flipAction)
          将底层缓冲区的内容翻转移动到前台缓冲区,可通过复制或移动视频指针来执行。
protected  Image getBackBuffer()
           
 BufferCapabilities getCapabilities()
          返回此 BufferStrategyBufferCapabilities
 Graphics getDrawGraphics()
          创建用于绘制缓冲区的图形上下文。
protected  void revalidate()
          如果绘制缓冲区已丢失,则将其还原。
 void show()
          通过位图传送或翻转,使下一个可用的缓冲区可见。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

numBuffers

protected int numBuffers
缓冲区的数目。


caps

protected BufferCapabilities caps
缓冲能力。


drawBuffer

protected Image drawBuffer
绘制缓冲区。


drawVBuffer

protected VolatileImage drawVBuffer
作为可变图像的绘制缓冲区。


validatedContents

protected boolean validatedContents
绘制缓冲区是否已从最近的丢失状态还原。

构造方法详细信息

Component.FlipBufferStrategy

protected Component.FlipBufferStrategy(int numBuffers,
                                       BufferCapabilities caps)
                                throws AWTException
为此组件创建新的翻转缓冲区策略。该组件必须是 CanvasWindow

参数:
numBuffers - 缓冲区的数目
caps - 缓冲区的能力
抛出:
AWTException - 如果不支持或无法满足所提供的能力
ClassCastException - 如果该组件不是 canvas 或 window。
另请参见:
Canvas, Window
方法详细信息

createBuffers

protected void createBuffers(int numBuffers,
                             BufferCapabilities caps)
                      throws AWTException
创建一个或多个具有给定能力的、复杂的翻转缓冲区。

参数:
numBuffers - 要创建的缓冲区数;必须大于 1
caps - 缓冲区的能力。BufferCapabilities.isPageFlipping 必须为 true
抛出:
AWTException - 如果不支持或无法满足所提供的能力
IllegalStateException - 如果组件没有同位体
IllegalArgumentException - 如果 numBuffers 小于 2,或者 BufferCapabilities.isPageFlipping 不为 true
另请参见:
BufferCapabilities.isPageFlipping()

getBackBuffer

protected Image getBackBuffer()
返回:
直接访问作为图像的底层缓冲区。
抛出:
IllegalStateException - 如果尚未创建该缓冲区

flip

protected void flip(BufferCapabilities.FlipContents flipAction)
将底层缓冲区的内容翻转移动到前台缓冲区,可通过复制或移动视频指针来执行。

参数:
flipAction - 一个整数值,用于描述底层缓冲区内容的翻转操作。这应该是 BufferCapabilities.FlipContents 属性值之一。
抛出:
IllegalStateException - 如果尚未创建该缓冲区
另请参见:
BufferCapabilities.getFlipContents()

destroyBuffers

protected void destroyBuffers()
销毁通过此对象所创建的缓冲区。


getCapabilities

public BufferCapabilities getCapabilities()
从类 BufferStrategy 复制的描述
返回此 BufferStrategyBufferCapabilities

指定者:
BufferStrategy 中的 getCapabilities
返回:
此策略的缓冲能力。

getDrawGraphics

public Graphics getDrawGraphics()
从类 BufferStrategy 复制的描述
创建用于绘制缓冲区的图形上下文。由于性能的原因,此方法可能不是同步的;多个线程使用此方法时,应该在应用层对其进行处理。对所得到的图形对象的释放必须由应用程序来处理。

指定者:
BufferStrategy 中的 getDrawGraphics
返回:
绘制缓冲区中的图形。由于性能的原因,此方法可能不是同步的;多个线程使用此方法时,应该在相应的层对其进行处理。图形对象的移除必须由应用程序来处理。

revalidate

protected void revalidate()
如果绘制缓冲区已丢失,则将其还原。


contentsLost

public boolean contentsLost()
从类 BufferStrategy 复制的描述
返回上次调用 getDrawGraphics 后绘制缓冲区是否丢失。由于使用缓冲区策略的缓冲区通常是 VolatileImage 类型的,因此它们有可能丢失。有关对丢失缓冲区的讨论,请参阅 VolatileImage

指定者:
BufferStrategy 中的 contentsLost
返回:
自从最后一次调用 getDrawGraphics 后是否丢失了绘制缓冲区。
另请参见:
VolatileImage

contentsRestored

public boolean contentsRestored()
从类 BufferStrategy 复制的描述
返回绘制缓冲区最近是否从丢失状态恢复,并重新初始化为默认背景色(白色)。由于使用缓冲区策略的缓冲区通常是 VolatileImage 类型的,因此它们有可能丢失。如果上次调用 getDrawGraphics 后,缓冲区最近已从丢失状态恢复,则缓冲区可能要求重新绘制。有关对丢失缓冲区的讨论,请参阅 VolatileImage

指定者:
BufferStrategy 中的 contentsRestored
返回:
最近是否从丢失中还原了绘制缓冲区并且将其重新初始化为默认的背景色(白色)。
另请参见:
VolatileImage

show

public void show()
通过位图传送或翻转,使下一个可用的缓冲区可见。

指定者:
BufferStrategy 中的 show

dispose

public void dispose()
释放当前由此 BufferStrategy 使用的系统资源,并从关联 Component 中移除它们。在调用此方法之后,getBufferStrategy 将返回 null。试图在释放 BufferStrategy 后使用它将导致不确定的行为。

覆盖:
BufferStrategy 中的 dispose
从以下版本开始:
1.6
另请参见:
Component.createBufferStrategy(int), Component.getBufferStrategy()

JavaTM Platform
Standard Ed. 6

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

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