Spec-Zone.ru › OpenJDK 21

Класс RepaintManager

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

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

Since:
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 - компонент -- не используется в стандартной реализации, но может использоваться переопределённой версией для возвращения другого 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 в список Component, которые нужно перерисовать.
Параметры:
window - Окно для перерисовки, null приводит к ничего не происходит.
x - Координата X области для перерисовки
y - Координата Y области для перерисовки
w - Ширина области для перерисовки
h - Высота области для перерисовки
Since:
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 - Высота области для перерисовки
Since:
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 - высота буфера
Возвращает:
временное изображение
Since:
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, 2023, 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/21/docs/api/java.desktop/javax/swing/RepaintManager.html

Spec-Zone.ru

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