Spec-Zone.ru › OpenJDK 8

Класс RepaintManager

  • java.lang.Object
    • javax.swing.RepaintManager

public class RepaintManager
extends Object

Этот класс управляет запросами на перерисовку, позволяя минимизировать количество перерисовок, например, объединяя несколько запросов в одну перерисовку для элементов дерева компонента.

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

Конструкторы

Конструктор и описание
RepaintManager()

Создает новый экземпляр RepaintManager.

Методы

Модификатор и тип Метод и описание
void addDirtyRegion(Applet applet, int x, int y, int w, int h)

Добавляет applet в список Component для перерисовки.

void addDirtyRegion(JComponent c, int x, int y, int w, int h)

Добавляет компонент в список компонентов, которые должны быть обновлены.

void addDirtyRegion(Window window, int x, int y, int w, int h)

Добавляет window в список Component для перерисовки.

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().

См. также:
JComponent.isValidateRoot(), removeInvalidComponent(javax.swing.JComponent)

removeInvalidComponent

public void removeInvalidComponent(JComponent 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

public void addDirtyRegion(Applet applet,
                           int x,
                           int y,
                           int w,
                           int h)

Добавляет 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)

Возвращает текущую область грязи для компонента. Возвращает пустой прямоугольник, если компонент не грязный.

markCompletelyDirty

public void markCompletelyDirty(JComponent aComponent)

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

markCompletelyClean

public void markCompletelyClean(JComponent aComponent)

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

isCompletelyDirty

public boolean isCompletelyDirty(JComponent aComponent)

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

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.

getVolatileOffscreenBuffer

public Image getVolatileOffscreenBuffer(Component c,
                                        int proposedWidth,
                                        int proposedHeight)

Возвращает буфер динамического вне экрана, который должен использоваться как буфер двойного буферизации со указанным компонентом c. Возвращаемый образ будет экземпляром VolatileImage или null, если объект VolatileImage не мог быть создан. Этот буфер может быть меньше, чем (proposedWidth,proposedHeight). Это происходит, когда максимальный размер буфера двойного буферизации был установлен для этого repaint manager.

Since:
1.4
См. также:
VolatileImage

setDoubleBufferMaximumSize

public void setDoubleBufferMaximumSize(Dimension 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, 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.

Spec-Zone.ru

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