public class BufferCapabilities extends Object implements Cloneable
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() |
public BufferCapabilities(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)
frontCaps - フロント・バッファの機能。nullは指定不可backCaps - バック・バッファおよび中間バッファの機能。nullは指定不可flipContents - ページ反転後のバック・バッファの内容。ページ反転が使用されない場合(暗黙的なBlit)はnullIllegalArgumentException - frontCapsまたはbackCapsがnullの場合public ImageCapabilities getFrontBufferCapabilities()
public ImageCapabilities getBackBufferCapabilities()
public boolean isPageFlipping()
getFlipContentsはnullを返すpublic BufferCapabilities.FlipContents getFlipContents()
isPageFlippingがfalseを返す場合はnull (Blitを使用)。この値はFlipContents.UNDEFINED (デフォルト値)、FlipContents.BACKGROUND、FlipContents.PRIOR、またはFlipContents.COPIEDのいずれかisPageFlipping(), BufferCapabilities.FlipContents.UNDEFINED, BufferCapabilities.FlipContents.BACKGROUND, BufferCapabilities.FlipContents.PRIOR, BufferCapabilities.FlipContents.COPIEDpublic boolean isFullScreenRequired()
trueの場合、フル・スクリーン排他モードでページ切替えを行うisPageFlipping(), GraphicsDevice.setFullScreenWindow(java.awt.Window)public boolean isMultiBufferAvailable()
isPageFlipping()public Object clone()
Objectxについて、次の式
がtrueであり、次の式x.clone() != x
がx.clone().getClass() == x.getClass()
trueになることですが、これらは絶対的な要件ではありません。また次の式
がx.clone().equals(x)
trueになりますが、これは絶対的な要件ではありません。
慣例上、返されたオブジェクトは、super.cloneを呼び出すことによって取得するようにしてください。クラスとそのすべてのスーパー・クラス(Objectを除く)がこの規則に従っている場合は、x.clone().getClass()== x.getClass()が成立します。
通常、このメソッドにより返されるオブジェクトは、このオブジェクト(複製されている)から独立している必要があります。この独立性を実現するには、super.cloneによって返されたオブジェクトを返す前に、その1つ以上のフィールドを変更することが必要になる場合があります。これは、通常、複製するオブジェクトの内部「深層構造」を構成する可変オブジェクトのコピー、およびこれらのオブジェクトへの参照をコピーへの参照に置き換えることを意味します。クラスにプリミティブ・フィールドまたは不変オブジェクトへの参照しか含まれていない場合は、通常、super.cloneによって返されたオブジェクト内のフィールドを変更する必要がありません。
クラスObjectのメソッドcloneは、特定のクローニング操作を実行します。まず、このオブジェクトのクラスがインタフェースCloneableを実装していない場合は、CloneNotSupportedExceptionがスローされます。すべての配列がインタフェースCloneableを実装していると見なされること、および配列型T[]のcloneメソッドの戻り値の型はT[] (ここで、Tは任意の参照またはプリミティブ型)です。実装していない場合、このメソッドはこのオブジェクトのクラスの新しいインスタンスを生成し、そのフィールドをすべて、このオブジェクトの対応する各フィールドの内容で初期化します。これは代入と同様で、フィールドの内容自身が複製されるのではありません。つまりこのメソッドは、オブジェクトの「シャロー・コピー」を生成しますが、「ディープ・コピー」は生成しません。
クラスObject自体はインタフェースCloneableを実装していないため、クラスがObjectであるオブジェクトに対してcloneメソッドを呼び出すと、実行時に例外がスローされます。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.