- 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()
-
-
-
构造方法详细信息
-
BufferCapabilities
public BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)
创建用于指定缓冲功能的新对象- 参数
-
frontCaps
- 前端缓冲区的功能; 不能是null
-
backCaps
- 后台和中间缓冲区的功能; 不能是null
-
flipContents
- 页面翻转后后缓冲区的内容,如果未使用页面翻转,null
(表示blitting) - 异常
-
IllegalArgumentException
- 如果frontCaps或backCaps为null
-
-
方法详细信息
-
getFrontBufferCapabilities
public ImageCapabilities getFrontBufferCapabilities()
- 结果
- 前(显示)缓冲区的图像功能
-
getBackBufferCapabilities
public ImageCapabilities getBackBufferCapabilities()
- 结果
- 所有后台缓冲区的图像功能(中间缓冲区被视为后台缓冲区)
-
isPageFlipping
public boolean isPageFlipping()
- 结果
-
缓冲策略是否使用页面翻转;
使用页面翻转的一组缓冲区可以通过切换视频指针(或通过内部复制存储器)在前缓冲区和一个或多个后缓冲区之间内部交换内容。
一组非翻转缓冲区使用blitting将内容从一个缓冲区复制到另一个缓冲区;
在这种情况下,
getFlipContents
返回null
-
getFlipContents
public BufferCapabilities.FlipContents getFlipContents()
- 结果
-
页面翻转后后缓冲区的结果内容。
这个值是
null
当isPageFlipping
回报false
,这意味着位图传输。 它可以是FlipContents.UNDEFINED
(假设的默认值)FlipContents.BACKGROUND
,FlipContents.PRIOR
或FlipContents.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()
创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x
,表达式为:x.clone() != x
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
并且数组类型T[]
的clone
方法的返回类型是T[]
,其中T是任何引用或基本类型。 否则,此方法创建此对象的类的新实例,并使用该对象的相应字段的内容初始化其所有字段,就像通过赋值一样; 这些字段的内容本身不会被克隆。 因此,该方法执行该对象的“浅拷贝”,而不是“深拷贝”操作。类
Object
本身并不实现接口Cloneable
,因此在类为Object
的对象上调用clone
方法将导致在运行时抛出异常。
-
-