Spec-Zone.ru › OpenJDK 17

Класс RepaintManager

java.lang.Object
javax.swing.RepaintManager
public class RepaintManager extends Object
Этот класс управляет запросами на перерисовку, позволяя минимизировать количество перерисовок, например, объединяя несколько запросов в одну перерисовку для элементов дерева компонентов.

Начиная с версии 1.6 RepaintManager обрабатывает запросы на перерисовку для основных компонентов Swing (JApplet, JWindow, JFrame и JDialog). Любые вызовы repaint для одного из них вызовут соответствующий метод addDirtyRegion.

С момента:
1.2

Краткое описание конструкторов

Конструктор Описание
RepaintManager()
Создает новый экземпляр RepaintManager.

Краткое описание методов

Модификатор и тип Метод Описание
void addDirtyRegion(Applet applet, int x, int y, int w, int h)
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.
API апплетов устарело.
void addDirtyRegion(Window window, int x, int y, int w, int h)
Добавляет window в список Component, которые нужно перерисовать.
void addDirtyRegion(JComponent c, int x, int y, int w, int h)
Добавляет компонент в список компонентов, которые должны быть обновлены.
void addInvalidComponent(JComponent invalidComponent)
Помечает компонент как нуждающийся в разметке и добавляет в очередь задачи для потока обработки событий, которая сначала проверит предка компонентов isValidateRoot().
static RepaintManager currentManager(Component c)
Возвращает RepaintManager для вызывающего потока, заданного компонентом.
static RepaintManager currentManager(JComponent c)
Возвращает RepaintManager для вызывающего потока, заданного JComponent.
Rectangle getDirtyRegion(JComponent aComponent)
Возвращает текущую область изменения для компонента.
Dimension getDoubleBufferMaximumSize()
Возвращает максимальный размер буфера двойной буферизации.
Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
Возвращает буфер вне экрана, который должен использоваться как буфер двойной буферизации с компонентом c.
Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
Возвращает летучий буфер вне экрана, который должен использоваться как буфер двойной буферизации со специфицированным компонентом c.
boolean isCompletelyDirty(JComponent aComponent)
Метод для удобства, возвращает true, если aComponent будет полностью перерисован во время следующего paintDirtyRegions().
boolean isDoubleBufferingEnabled()
Возвращает true, если этот RepaintManager использует двойную буферизацию.
void markCompletelyClean(JComponent aComponent)
Помечает компонент как полностью чистым.
void markCompletelyDirty(JComponent aComponent)
Помечает компонент как полностью грязным.
void paintDirtyRegions()
Перерисовывает все компоненты, помеченные как грязные.
void removeInvalidComponent(JComponent component)
Удаляет компонент из списка невалидных компонентов.
static void setCurrentManager(RepaintManager aRepaintManager)
Устанавливает RepaintManager, который должен использоваться для вызывающего потока.
void setDoubleBufferingEnabled(boolean aFlag)
Включает или выключает двойную буферизацию в этом RepaintManager.
void setDoubleBufferMaximumSize(Dimension d)
Устанавливает максимальный размер буфера двойной буферизации.
String toString()
Возвращает строку, отображающую и идентифицирующую свойства этого объекта.
void validateInvalidComponents()
Проверяет все компоненты, помеченные как невалидные.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

RepaintManager

public RepaintManager()
Создайте новый экземпляр RepaintManager. Вы редко вызываете этот конструктор напрямую. Чтобы получить менеджер по умолчанию, используйте RepaintManager.currentManager(JComponent) (обычно "this").

Подробное описание методов

currentManager

public static RepaintManager currentManager(Component c)
Возвращает RepaintManager для текущей нити, заданный компонентом.
Параметры:
c - компонент -- не используется в реализации по умолчанию, но может быть использован переопределённой версией для возвращения другого RepaintManager в зависимости от компонента
Возвращает:
объект RepaintManager

currentManager

public static RepaintManager currentManager(JComponent c)
Возвращает RepaintManager для текущей нити, заданный JComponent.

Примечание: Этот метод существует для обеспечения обратной двоичной совместимости с более ранними версиями библиотеки Swing. Он просто возвращает результат, возвращаемый currentManager(Component).

Параметры:
c - JComponent -- не используется
Возвращает:
объект RepaintManager

setCurrentManager

public static void setCurrentManager(RepaintManager aRepaintManager)
Устанавливает RepaintManager, который должен использоваться для текущей нити. aRepaintManager станет текущим RepaintManager для группы нитей вызывающей нити.
Параметры:
aRepaintManager - объект RepaintManager для использования

addInvalidComponent

public void addInvalidComponent(JComponent invalidComponent)
Помечает компонент как требующий перерасчёта и помещает в очередь выполнимый блок для нити обработки событий, который будет проверять предка компонентов, являющегося корнем проверки isValidateRoot().
Параметры:
invalidComponent - компонент
См. также:
  • JComponent.isValidateRoot()
  • removeInvalidComponent(javax.swing.JComponent)

removeInvalidComponent

public void removeInvalidComponent(JComponent component)
Удаляет компонент из списка невалидных компонентов.
Параметры:
component - компонент
См. также:
  • addInvalidComponent(javax.swing.JComponent)

addDirtyRegion

public void addDirtyRegion(JComponent c, int x, int y, int w, int h)
Добавляет компонент в список компонентов, которые должны быть перерисованы. Если у c уже есть область грязи, прямоугольник (x,y,w,h) будет объединён с областью, которая должна быть перерисована.
Параметры:
c - Компонент для перерисовки, null приводит к ничегонеделанию.
x - Координата X области для перерисовки
y - Координата Y области для перерисовки
w - Ширина области для перерисовки
h - Высота области для перерисовки
См. также:
  • JComponent.repaint(long, int, int, int, int)

addDirtyRegion

public void addDirtyRegion(Window window, int x, int y, int w, int h)
Добавляет window в список Components, которые нужно перерисовать.
Параметры:
window - Окно для перерисовки, null приводит к ничегонеделанию.
x - Координата X области для перерисовки
y - Координата Y области для перерисовки
w - Ширина области для перерисовки
h - Высота области для перерисовки
С:
1.6
См. также:
  • JFrame.repaint(long, int, int, int, int)
  • JWindow.repaint(long, int, int, int, int)
  • JDialog.repaint(long, int, int, int, int)

addDirtyRegion

@Deprecated(since="9", forRemoval=true) public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
Устаревший, для удаления: Этот элемент API может быть удалён в будущей версии.
API Applet устарело. См. документацию пакета java.applet для получения дополнительной информации.
Добавляет applet в список Components, которые нужно перерисовать.
Параметры:
applet - Аплет для перерисовки, null приводит к ничегонеделанию.
x - Координата X области для перерисовки
y - Координата Y области для перерисовки
w - Ширина области для перерисовки
h - Высота области для перерисовки
С:
1.6
См. также:
  • JApplet.repaint(long, int, int, int, int)

getDirtyRegion

public Rectangle getDirtyRegion(JComponent aComponent)
Возвращает текущую область грязи для компонента. Возвращает пустой прямоугольник, если компонент не грязный.
Параметры:
aComponent - компонент
Возвращает:
область

markCompletelyDirty

public void markCompletelyDirty(JComponent aComponent)
Помечает компонент полностью грязным. aComponent будет полностью перерисован во время следующего вызова paintDirtyRegions().
Параметры:
aComponent - компонент

markCompletelyClean

public void markCompletelyClean(JComponent aComponent)
Помечает компонент полностью чистым. aComponent не будет перерисован во время следующего вызова paintDirtyRegions().
Параметры:
aComponent - компонент

isCompletelyDirty

public boolean isCompletelyDirty(JComponent aComponent)
Удобный метод, который возвращает true, если aComponent будет полностью перерисован во время следующего вызова paintDirtyRegions(). Если вычисление областей грязи дорого для вашего компонента, используйте этот метод и избегайте вычисления области грязи, если он возвращает true.
Параметры:
aComponent - компонент
Возвращает:
true если aComponent будет полностью перерисован во время следующего вызова paintDirtyRegions().

validateInvalidComponents

public void validateInvalidComponents()
Проверяет все компоненты, помеченные как невалидные.
См. также:
  • addInvalidComponent(javax.swing.JComponent)

paintDirtyRegions

public void paintDirtyRegions()
Перерисовывает все компоненты, помеченные как грязные.
См. также:
  • addDirtyRegion(javax.swing.JComponent, int, int, int, int)

toString

public String toString()
Возвращает строку, отображающую и идентифицирующую свойства этого объекта.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта

getOffscreenBuffer

public Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
Возвращает буфер вне экрана, который должен использоваться в качестве двойного буфера с компонентом c. По умолчанию существует двойной буфер на каждый RepaintManager. Буфер может быть меньше, чем (proposedWidth,proposedHeight). Это происходит, когда максимальный размер двойного буфера был установлен для получающего менеджера перерисовки.
Параметры:
c - компонент
proposedWidth - ширина буфера
proposedHeight - высота буфера
Возвращает:
изображение

getVolatileOffscreenBuffer

public Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
Возвращает летучий буфер вне экрана, который должен использоваться в качестве двойного буфера с указанным компонентом c. Возвращаемое изображение будет экземпляром VolatileImage, или null, если объект VolatileImage не удалось создать. Этот буфер может быть меньше, чем (proposedWidth,proposedHeight). Это происходит, когда максимальный размер двойного буфера был установлен для этого менеджера перерисовки.
Параметры:
c - компонент
proposedWidth - ширина буфера
proposedHeight - высота буфера
Возвращает:
летучее изображение
С:
1.4
См. также:
  • VolatileImage

setDoubleBufferMaximumSize

public void setDoubleBufferMaximumSize(Dimension d)
Устанавливает максимальный размер двойного буфера.
Параметры:
d - размер

getDoubleBufferMaximumSize

public Dimension getDoubleBufferMaximumSize()
Возвращает максимальный размер двойного буфера.
Возвращает:
объект Dimension, представляющий максимальный размер

setDoubleBufferingEnabled

public void setDoubleBufferingEnabled(boolean aFlag)
Включает или отключает буферизацию с двойным буфером в данном RepaintManager. ВНИМАНИЕ: Значение по умолчанию для этого свойства настроено для оптимальной производительности отрисовки на данной платформе, и не рекомендуется изменять это свойство напрямую.
Параметры:
aFlag - true для активации буферизации с двойным буфером
См. также:
  • isDoubleBufferingEnabled()

isDoubleBufferingEnabled

public boolean isDoubleBufferingEnabled()
Возвращает true, если этот RepaintManager использует буферизацию с двойным буфером. Значение по умолчанию для этого свойства может отличаться в зависимости от платформы. На платформах, где родная буферизация с двойным буфером поддерживается в AWT, значение по умолчанию будет false для избежания ненужной буферизации в Swing. На платформах, где родная буферизация с двойным буфером не поддерживается, значение по умолчанию будет true.
Возвращает:
true, если этот объект использует буферизацию с двойным буфером

© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/RepaintManager.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API