- 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
-
-
Field Summary
Fields Modifier and Type Field 描述 protected BufferCapabilities
caps
缓冲功能protected Image
drawBuffer
绘图缓冲区protected VolatileImage
drawVBuffer
绘图缓冲区作为易失性图像protected int
numBuffers
缓冲区的数量protected boolean
validatedContents
绘图缓冲区是否最近从丢失状态恢复。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
为此组件创建一个新的翻转缓冲区策略。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
contentsLost()
返回自上次调用getDrawGraphics
以来绘图缓冲区是否丢失。boolean
contentsRestored()
返回绘图缓冲区是否最近从丢失状态恢复并重新初始化为默认背景颜色(白色)。protected void
createBuffers(int numBuffers, BufferCapabilities caps)
使用给定的功能创建一个或多个复杂的翻转缓冲区。protected void
destroyBuffers()
破坏通过此对象创建的缓冲区void
dispose()
释放此BufferStrategy
当前使用的系统资源,并将其从关联的组件中删除。protected void
flip(BufferCapabilities.FlipContents flipAction)
翻转通过复制或移动视频指针将后缓冲区的内容移动到前缓冲区。protected Image
getBackBuffer()
BufferCapabilities
getCapabilities()
返回BufferCapabilities
为这个BufferStrategy
。Graphics
getDrawGraphics()
为绘图缓冲区创建图形上下文。protected void
revalidate()
如果绘图缓冲区丢失,则还原它void
show()
使下一个可用的缓冲区可以被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
- 要创建的缓冲区数; 必须大于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
返回BufferCapabilities
为这个BufferStrategy
。- Specified by:
-
getCapabilities
在BufferStrategy
- 结果
- 这个策略的缓冲功能
-
getDrawGraphics
public Graphics getDrawGraphics()
描述从类复制:BufferStrategy
为绘图缓冲区创建图形上下文。 出于性能原因,此方法可能无法同步; 多线程使用此方法应在应用程序级别处理。 获取的图形对象的处理必须由应用程序处理。- Specified by:
-
getDrawGraphics
在BufferStrategy
- 结果
- 绘图缓冲区上的图形。 出于性能原因,此方法可能无法同步; 多线程使用此方法应在应用程序级别处理。 图形对象的处理必须由应用程序处理。
-
revalidate
protected void revalidate()
如果绘图缓冲区丢失,则还原它
-
contentsLost
public boolean contentsLost()
描述从类复制:BufferStrategy
返回自上次调用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
当前使用的系统资源,并将其从关联的组件中删除。 调用此方法后,getBufferStrategy
将返回null。 在BufferStrategy
之后尝试使用BufferStrategy
将导致未定义的行为。- 重写:
-
dispose
在BufferStrategy
- 从以下版本开始:
- 1.6
- 另请参见:
-
Window.createBufferStrategy(int)
,Canvas.createBufferStrategy(int)
,Window.getBufferStrategy()
,Canvas.getBufferStrategy()
-
-