- java.lang.Object
-
- java.awt.BufferCapabilities
-
- All Implemented Interfaces:
-
Cloneable
public class BufferCapabilities extends Object implements Cloneable
缓冲区的功能和属性。- 从以下版本开始:
- 1.4
- 另请参见:
-
BufferStrategy.getCapabilities()
,GraphicsConfiguration.getBufferCapabilities()
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
BufferCapabilities.FlipContents
页面翻转后可能的反向缓冲区内容的类型安全枚举
-
构造方法摘要
构造方法 Constructor 描述 BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)
创建一个用于指定缓冲功能的新对象
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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
,这意味着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()
说明从类别复制:Object
创建并返回此对象的副本。 “复制”的精确含义可能取决于对象的类。 一般的意图是,对于任何对象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
并且所述的返回类型clone
数组类型的方法T[]
是T[]
其中T是任何引用或原始类型。 否则,该方法将创建该对象的类的新实例,并将其所有字段初始化为该对象的相应字段的内容,就像通过赋值一样。 这些字段的内容本身不被克隆。 因此,该方法执行该对象的“浅拷贝”,而不是“深度拷贝”操作。类
Object
本身并不实现接口Cloneable
,因此在类为Object
的对象上调用clone
方法将导致在运行时抛出异常。
-
-