Класс BufferCapabilities
- java.lang.Object
-
- java.awt.BufferCapabilities
- Все реализуемые интерфейсы:
Cloneable
public class BufferCapabilities extends Object implements Cloneable
Возможности и свойства буферов.
- С момента:
- 1.4
- См. также:
-
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() |
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
BufferCapabilities
public BufferCapabilities(ImageCapabilities frontCaps,
ImageCapabilities backCaps,
BufferCapabilities.FlipContents flipContents)
Создает новый объект для задания возможностей буферизации
- Параметры:
-
frontCaps- возможности переднего буфера; не может бытьnull -
backCaps- возможности заднего и промежуточных буферов; не может бытьnull -
flipContents- содержимое заднего буфера после перелистывания страницы,nullесли перелистывание страницы не используется (подразумевает копирование) - Исключения:
-
IllegalArgumentException- если frontCaps или backCaps имеютnull
Методы
getFrontBufferCapabilities
public ImageCapabilities getFrontBufferCapabilities()
- Возвращает:
- возможности изображения переднего (отображаемого) буфера
getBackBufferCapabilities
public ImageCapabilities getBackBufferCapabilities()
- Возвращает:
- возможности изображения всех задних буферов (промежуточные буферы считаются задними буферами)
isPageFlipping
public boolean isPageFlipping()
- Возвращает:
- использует ли стратегия буферов перелистывание страницы; набор буферов, использующих перелистывание, может обмениваться содержимым внутри между передним буфером и одним или несколькими задними буферами, переключая указатель видео (или копируя память внутри). Не использующий перелистывание набор буферов использует копирование для копирования содержимого из одного буфера в другой; в этом случае,
getFlipContentsвозвращаетnull
getFlipContents
public BufferCapabilities.FlipContents getFlipContents()
- Возвращает:
- результирующее содержимое заднего буфера после перелистывания страницы. Это значение
nullкогдаisPageFlippingвозвращает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, не нужно изменять.
Метод clone для класса Object выполняет определённую операцию клонирования. Сначала, если класс этого объекта не реализует интерфейс Cloneable, выбрасывается CloneNotSupportedException. Обратите внимание, что все массивы считаются реализующими интерфейс Cloneable, и что возвращаемый тип метода clone типа массива T[] является T[], где T — любой ссылочный или примитивный тип. В противном случае этот метод создаёт новый экземпляр класса этого объекта и инициализирует все его поля точно содержимым соответствующих полей этого объекта, как если бы они были присвоены; содержимое самих полей не клонируется. Таким образом, этот метод выполняет «поверхностное копирование» этого объекта, а не операцию «глубокого копирования».
Класс Object сам по себе не реализует интерфейс Cloneable, поэтому вызов метода clone на объекте, класс которого Object, приведёт к сбою во время выполнения.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/BufferCapabilities.html