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如果不使用(意味着使用)
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返回的对象中的任何字段需要修改。
类的方法Object clone执行特定的复制操作。首先,如果此对象的类不实现接口Cloneable,然后CloneNotSupportedException抛出。请注意,所有的数组都被实现的接口Cloneable,数组类型的clone T[]方法的返回类型是T[]其中T是任何参考或原始类型。否则,此方法创建此对象的类的新实例并初始化与正是这个对象的相应字段内容的各个领域,如分配;字段的内容不克隆自己。因此,该方法执行此对象的“浅副本”,而不是“深复制”操作。
这类Object本身不实现接口Cloneable,所以叫clone方法对一个对象的类是Object将导致在运行时抛出异常。
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.