Класс 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 или backCapsnull
Подробное описание методов
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.