- 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 classBufferCapabilities.FlipContents页面翻转后可能的反向缓冲区内容的类型安全枚举
-
构造方法摘要
构造方法 Constructor 描述 BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)创建一个用于指定缓冲功能的新对象
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Objectclone()创建并返回此对象的副本。ImageCapabilitiesgetBackBufferCapabilities()BufferCapabilities.FlipContentsgetFlipContents()ImageCapabilitiesgetFrontBufferCapabilities()booleanisFullScreenRequired()booleanisMultiBufferAvailable()booleanisPageFlipping()
-
-
-
构造方法详细信息
-
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方法将导致在运行时抛出异常。
-
-