- java.lang.Object
-
- java.awt.image.BufferStrategy
-
- java.awt.Component.FlipBufferStrategy
-
- Enclosing class:
- Component
protected class Component.FlipBufferStrategy extends BufferStrategy
用于在组件上翻转缓冲区的内部类。 该组件必须是Canvas或Window或Applet。- 从以下版本开始:
- 1.4
- 另请参见:
-
Canvas,Window,Applet,BufferStrategy
-
-
字段汇总
字段 变量和类型 字段 描述 protected BufferCapabilitiescaps缓冲功能protected ImagedrawBuffer绘图缓冲区protected VolatileImagedrawVBuffer绘图缓冲区为易失性图像protected intnumBuffers缓冲区的数量protected booleanvalidatedContents最近是否已从丢失状态恢复绘图缓冲区。
-
构造方法摘要
构造方法 变量 构造器 描述 protectedFlipBufferStrategy(int numBuffers, BufferCapabilities caps)为此组件创建新的翻转缓冲区策略。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 booleancontentsLost()返回自上次调用getDrawGraphics以来绘图缓冲区是否丢失。booleancontentsRestored()返回绘图缓冲区最近是否从丢失状态恢复并重新初始化为默认背景颜色(白色)。protected voidcreateBuffers(int numBuffers, BufferCapabilities caps)使用给定的功能创建一个或多个复杂的翻转缓冲区。protected voiddestroyBuffers()销毁通过此对象创建的缓冲区voiddispose()释放此BufferStrategy当前使用的系统资源,并将其从关联的Component中删除。protected voidflip(BufferCapabilities.FlipContents flipAction)翻转通过复制或移动视频指针将后缓冲区的内容移动到前缓冲区。protected ImagegetBackBuffer()BufferCapabilitiesgetCapabilities()返回BufferCapabilities的BufferStrategy。GraphicsgetDrawGraphics()为绘图缓冲区创建图形上下文。protected voidrevalidate()如果丢失,则恢复绘图缓冲区voidshow()通过blitting或flipping使下一个可用缓冲区可见。
-
-
-
字段详细信息
-
numBuffers
protected int numBuffers
缓冲区的数量
-
caps
protected BufferCapabilities caps
缓冲功能
-
drawBuffer
protected Image drawBuffer
绘图缓冲区
-
drawVBuffer
protected VolatileImage drawVBuffer
绘图缓冲区为易失性图像
-
validatedContents
protected boolean validatedContents
最近是否已从丢失状态恢复绘图缓冲区。
-
-
构造方法详细信息
-
FlipBufferStrategy
protected FlipBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException为此组件创建新的翻转缓冲区策略。 该组件必须是Canvas或Window或Applet。- 参数
-
numBuffers- 缓冲区数 -
caps- 缓冲区的功能 - 异常
-
AWTException- 如果无法支持或满足提供的功能 -
ClassCastException- 如果组件不是画布或窗口。 -
IllegalStateException- 如果组件没有对等方 -
IllegalArgumentException- 如果numBuffers小于2,或者如果BufferCapabilities.isPageFlipping不是true。 - 另请参见:
-
Canvas,Window,Applet,createBuffers(int, BufferCapabilities)
-
-
方法详细信息
-
createBuffers
protected void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException使用给定的功能创建一个或多个复杂的翻转缓冲区。- 参数
-
numBuffers- 要创建的缓冲区数量; 必须大于一 -
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()
返回BufferCapabilities的BufferStrategy。- Specified by:
-
getCapabilities,类BufferStrategy - 结果
- 这种策略的缓冲功能
-
getDrawGraphics
public Graphics getDrawGraphics()
复制自类的说明:BufferStrategy为绘图缓冲区创建图形上下文。 出于性能原因,此方法可能无法同步; 应该在应用程序级别处理多个线程使用此方法。 处理获得的图形对象必须由应用程序处理。- Specified by:
-
getDrawGraphics在类BufferStrategy - 结果
- 绘图缓冲区上的图形。 出于性能原因,此方法可能无法同步; 应该在应用程序级别处理多个线程使用此方法。 必须由应用程序处理图形对象的处理。
-
revalidate
protected void revalidate()
如果丢失,则恢复绘图缓冲区
-
contentsLost
public boolean contentsLost()
返回自上次调用getDrawGraphics以来绘图缓冲区是否丢失。 由于缓冲区策略中的缓冲区通常是类型VolatileImage,因此它们可能会丢失。 有关丢失缓冲区的讨论,请参见VolatileImage。- Specified by:
-
contentsLost类BufferStrategy - 结果
-
自上次调用
getDrawGraphics是否丢失了绘图缓冲区 - 另请参见:
-
VolatileImage
-
contentsRestored
public boolean contentsRestored()
复制自类:BufferStrategy描述返回绘图缓冲区最近是否从丢失状态恢复并重新初始化为默认背景颜色(白色)。 由于缓冲区策略中的缓冲区通常是类型VolatileImage,因此它们可能会丢失。 如果表面最近从最后一次调用getDrawGraphics后从丢失状态恢复,则可能需要重新绘制。 有关丢失缓冲区的讨论,请参阅VolatileImage。- Specified by:
-
contentsRestored在类BufferStrategy - 结果
- 最近是否从丢失状态恢复了绘图缓冲区并重新初始化为默认背景颜色(白色)
- 另请参见:
-
VolatileImage
-
show
public void show()
通过blitting或flipping使下一个可用缓冲区可见。- Specified by:
-
show,类BufferStrategy
-
dispose
public void dispose()
释放此BufferStrategy当前使用的系统资源,并将其从关联的Component中删除。 调用此方法后,getBufferStrategy将返回null。 在BufferStrategy之后尝试使用BufferStrategy将导致未定义的行为。- 重写:
-
dispose,类BufferStrategy - 从以下版本开始:
- 1.6
- 另请参见:
-
Window.createBufferStrategy(int),Canvas.createBufferStrategy(int),Window.getBufferStrategy(),Canvas.getBufferStrategy()
-
-