public class BufferCapabilities extends Object implements Cloneable
BufferStrategy.getCapabilities() ,
GraphicsConfiguration.getBufferCapabilities()
| Modifier and Type | Class and Description |
|---|---|
static class |
BufferCapabilities.FlipContents
页面翻转后可能的反向缓冲区内容的类型安全枚举
|
| Constructor and Description |
|---|
BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)
创建一个用于指定缓冲功能的新对象
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
创建并返回此对象的副本。
|
ImageCapabilities |
getBackBufferCapabilities() |
BufferCapabilities.FlipContents |
getFlipContents() |
ImageCapabilities |
getFrontBufferCapabilities() |
boolean |
isFullScreenRequired() |
boolean |
isMultiBufferAvailable() |
boolean |
isPageFlipping() |
public BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)
frontCaps - 前端缓冲区的功能;
不能null
backCaps - 后缓冲区和中间缓冲区的功能;
不能null
flipContents - 页面翻转之后的后台缓冲区的内容,
null如果不使用页面翻转(意味着blitting)
IllegalArgumentException - 如果frontCaps或backCaps是
null
public ImageCapabilities getFrontBufferCapabilities()
public ImageCapabilities getBackBufferCapabilities()
public boolean isPageFlipping()
getFlipContents返回null
public BufferCapabilities.FlipContents getFlipContents()
null当isPageFlipping返回false ,这意味着blitting。
可以是FlipContents.UNDEFINED (假设默认值) FlipContents.BACKGROUND , FlipContents.PRIOR或FlipContents.COPIED 。
isPageFlipping() ,
BufferCapabilities.FlipContents.UNDEFINED ,
BufferCapabilities.FlipContents.BACKGROUND ,
BufferCapabilities.FlipContents.PRIOR ,
BufferCapabilities.FlipContents.COPIED
public boolean isFullScreenRequired()
true ,页面翻转需要全屏独占模式。
isPageFlipping() ,
GraphicsDevice.setFullScreenWindow(java.awt.Window)
public boolean isMultiBufferAvailable()
isPageFlipping()
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返回的对象中的字段。
该方法clone类Object执行特定克隆操作。 首先,如果此对象的类不实现接口Cloneable ,则抛出CloneNotSupportedException 。 请注意,所有阵列被认为是实现该接口Cloneable和所述的返回类型clone数组类型的方法T[]是T[]其中T是任何引用或原始类型。 否则,该方法将创建该对象的类的新实例,并将其所有字段初始化为完全符合该对象的相应字段的内容,就像通过赋值一样。 这些字段的内容本身不被克隆。 因此,该方法执行该对象的“浅拷贝”,而不是“深度拷贝”操作。
Object类本身并不实现接口Cloneable ,因此在类别为Object的对象上调用clone方法会导致在运行时抛出异常。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.