Spec-Zone.ru › OpenJDK 24

Класс 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, используйте RepaintManager.currentManager(JComponent) (обычно «this»).

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

currentManager

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

currentManager

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

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

Параметры:
c - a 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 в список 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(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). Это происходит, когда максимальный размер двойного буфера был установлен для получающего repaint manager.
Параметры:
c - компонент
proposedWidth - ширина буфера
proposedHeight - высота буфера
Возвращает:
изображение

getVolatileOffscreenBuffer

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

Установить максимальный размер буфера двойного буферизации

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

Получить максимальный размер буфера двойного буферизации

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

Включить/выключить двойное буферизацию

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

Проверить включение двойного буферизации

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/RepaintManager.html

Spec-Zone.ru

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