java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.BufferCapabilities
所有已实现的接口:
Cloneable

public class BufferCapabilities
     
extends Object
implements Cloneable

缓冲区的能力和属性。

从以下版本开始:
1.4
另请参见:
BufferStrategy.getCapabilities(), GraphicsConfiguration.getBufferCapabilities()

嵌套类摘要
static class BufferCapabilities.FlipContents
          页面翻转后可能的后台缓冲区内容的一个类型安全的枚举
 
构造方法摘要
BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)
          创建一个指定缓冲区能力的新对象
 
方法摘要
 Object clone()
          创建并返回此对象的一个副本。
 ImageCapabilities getBackBufferCapabilities()
           
 BufferCapabilities.FlipContents getFlipContents()
           
 ImageCapabilities getFrontBufferCapabilities()
           
 boolean isFullScreenRequired()
           
 boolean isMultiBufferAvailable()
           
 boolean isPageFlipping()
           
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

BufferCapabilities

public BufferCapabilities(ImageCapabilities frontCaps,
                          ImageCapabilities backCaps,
                          BufferCapabilities.FlipContents flipContents)
创建一个指定缓冲区能力的新对象

参数:
frontCaps - 前台缓冲区的能力,不能为 null
backCaps - 后台缓冲区和中间缓冲区的能力,不能为 null
flipContents - 页面翻转后后台缓冲区的内容,如果未使用页面翻转(意味着使用了位图传输 (blitting)),则为 null
抛出:
IllegalArgumentException - 如果 frontCaps 或 backCaps 为 null
方法详细信息

getFrontBufferCapabilities

public ImageCapabilities getFrontBufferCapabilities()
返回:
前台(显示)缓冲区的图像能力

getBackBufferCapabilities

public ImageCapabilities getBackBufferCapabilities()
返回:
所有后台缓冲区(中间缓冲区可看作后台缓冲区)的图像能力

isPageFlipping

public boolean isPageFlipping()
返回:
缓冲区策略是否使用了页面翻转;通过切换视频指针(或者通过内部内存复制),一个使用页面翻转的缓冲区集合可以在前台缓冲区与一个或多个后台缓冲区之间进行内容的内部交换。一个非翻转的缓冲区集合使用位图传输将一个缓冲区的内容复制到另一个缓冲区;如果是这种情况,则 getFlipContents 返回 null

getFlipContents

public BufferCapabilities.FlipContents getFlipContents()
返回:
页面翻转后得到的后台缓冲区的内容。当 isPageFlipping 返回 false 时,此值为 null,意味着使用位图传输。它可以是 FlipContents.UNDEFINED(假定的默认值)、 FlipContents.BACKGROUNDFlipContents.PRIORFlipContents.COPIED 中的一个。
另请参见:
isPageFlipping(), BufferCapabilities.FlipContents.UNDEFINED, BufferCapabilities.FlipContents.BACKGROUND, BufferCapabilities.FlipContents.PRIOR, BufferCapabilities.FlipContents.COPIED

isFullScreenRequired

public boolean isFullScreenRequired()
返回:
是否页面翻转只在全屏模式下可用。如果它为 true,则页面翻转需要全屏独占模式。
另请参见:
isPageFlipping(), GraphicsDevice.setFullScreenWindow(java.awt.Window)

isMultiBufferAvailable

public boolean isMultiBufferAvailable()
返回:
是否使用多于两个缓冲区(一个或更多中间缓冲区、前台缓冲区或后台缓冲区)执行页面翻转操作。
另请参见:
isPageFlipping()

clone

public Object clone()
从类 Object 复制的描述
创建并返回此对象的一个副本。“副本”的准确含义可能依赖于对象的类。这样做的目的是,对于任何对象 x,表达式:
x.clone() != x
为 true,表达式:
x.clone().getClass() == x.getClass()
也为 true,但这些并非必须要满足的要求。一般情况下:
x.clone().equals(x)
true,但这并非必须要满足的要求。

按照惯例,返回的对象应该通过调用 super.clone 获得。如果一个类及其所有的超类(Object 除外)都遵守此约定,则 x.clone().getClass() == x.getClass()

按照惯例,此方法返回的对象应该独立于该对象(正被复制的对象)。要获得此独立性,在 super.clone 返回对象之前,有必要对该对象的一个或多个字段进行修改。这通常意味着要复制包含正在被复制对象的内部“深层结构”的所有可变对象,并使用对副本的引用替换对这些对象的引用。如果一个类只包含基本字段或对不变对象的引用,那么通常不需要修改 super.clone 返回的对象中的字段。

Object 类的 clone 方法执行特定的复制操作。首先,如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException。注意,所有的数组都被视为实现接口 Cloneable。否则,此方法会创建此对象的类的一个新实例,并像通过分配那样,严格使用此对象相应字段的内容初始化该对象的所有字段;这些字段的内容没有被自我复制。所以,此方法执行的是该对象的“浅表复制”,而不“深层复制”操作。

Object 类本身不实现接口 Cloneable,所以在类为 Object 的对象上调用 clone 方法将会导致在运行时抛出异常。

覆盖:
Object 中的 clone
返回:
此 BufferCapabilities 对象的一个副本。
另请参见:
Cloneable