Spec-Zone.ru › OpenJDK 25

Класс 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 Applet устарел.
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() возвращает true.
static RepaintManager currentManager(Component c)
Возвращает RepaintManager для вызывающего потока, принимая Component.
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()
Выполняет валидацию всех компонентов, помеченных как недействительные.

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

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

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

RepaintManager

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

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

currentManager

public static RepaintManager currentManager(Component c)
Возвращает RepaintManager для вызывающего потока, принимая Component.
Параметры:
c — Component; не используется в реализации по умолчанию, но переопределенная версия может использовать его для возврата разных экземпляров RepaintManager в зависимости от Component
Возвращает:
объект 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() возвращает true.
Параметры:
invalidComponent — компонент
См. также:
  • JComponent.isValidateRoot()
  • removeInvalidComponent(JComponent)

removeInvalidComponent

public void removeInvalidComponent(JComponent component)
Удаляет компонент из списка недействительных компонентов.
Параметры:
component — компонент
См. также:
  • addInvalidComponent(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 в список Component, которые необходимо перерисовать.
Параметры:
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 в список Component, которые необходимо перерисовать.
Параметры:
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(JComponent)

paintDirtyRegions

public void paintDirtyRegions()
Перерисовывает все компоненты, помеченные как требующие перерисовки.
См. также:
  • addDirtyRegion(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, если для этого объекта используется двойная буферизация

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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