Класс RepaintManager
public class RepaintManager extends Object
Начиная с версии 1.6 RepaintManager обрабатывает запросы на перерисовку для компонентов Swing верхнего уровня (JApplet, JWindow, JFrame и JDialog). При любом вызове repaint для одного из этих компонентов будет вызван соответствующий метод addDirtyRegion.
- Начиная с версии:
- 1.2
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RepaintManager() |
Создает новый экземпляр RepaintManager. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addDirtyRegion |
Устарел и подлежит удалению: этот элемент API может быть удален в будущей версии. API Applet устарел. |
void |
addDirtyRegion |
Добавляет window в список Component, которые необходимо перерисовать. |
void |
addDirtyRegion |
Добавляет компонент в список компонентов, которые необходимо обновить. |
void |
addInvalidComponent |
Помечает компонент как нуждающийся в компоновке и помещает в очередь выполняемую задачу для потока диспетчеризации событий, которая выполнит валидацию первого предка компонента, для которого isValidateRoot() возвращает true. |
static RepaintManager |
currentManager |
Возвращает RepaintManager для вызывающего потока, принимая Component. |
static RepaintManager |
currentManager |
Возвращает RepaintManager для вызывающего потока, принимая JComponent. |
Rectangle |
getDirtyRegion |
Возвращает текущую область перерисовки компонента. |
Dimension |
getDoubleBufferMaximumSize() |
Возвращает максимальный размер буфера двойной буферизации. |
Image |
getOffscreenBuffer |
Возвращает внеэкранный буфер, который следует использовать для двойной буферизации компонента c. |
Image |
getVolatileOffscreenBuffer |
Возвращает волатильный внеэкранный буфер, который следует использовать для двойной буферизации указанного компонента c. |
boolean |
isCompletelyDirty |
Вспомогательный метод, возвращающий true, если aComponent будет полностью перерисован при следующем вызове paintDirtyRegions(). |
boolean |
isDoubleBufferingEnabled() |
Возвращает true, если этот RepaintManager использует двойную буферизацию. |
void |
markCompletelyClean |
Помечает компонент как полностью чистый. |
void |
markCompletelyDirty |
Помечает компонент как полностью требующий перерисовки. |
void |
paintDirtyRegions() |
Перерисовывает все компоненты, помеченные как требующие перерисовки. |
void |
removeInvalidComponent |
Удаляет компонент из списка недействительных компонентов. |
static void |
setCurrentManager |
Устанавливает RepaintManager, который будет использоваться вызывающим потоком. |
void |
setDoubleBufferingEnabled |
Включает или отключает двойную буферизацию в этом RepaintManager. |
void |
setDoubleBufferMaximumSize |
Устанавливает максимальный размер буфера двойной буферизации. |
String |
toString() |
Возвращает строку, отображающую свойства этого объекта и позволяющую его идентифицировать. |
void |
validateInvalidComponents() |
Выполняет валидацию всех компонентов, помеченных как недействительные. |
Подробное описание конструкторов
RepaintManager
public RepaintManager()
Подробное описание методов
currentManager
public static RepaintManager currentManager(Component c)
- Параметры:
-
c— Component; не используется в реализации по умолчанию, но переопределенная версия может использовать его для возврата разных экземпляров RepaintManager в зависимости от Component - Возвращает:
- объект RepaintManager
currentManager
public static RepaintManager currentManager(JComponent c)
Примечание. Этот метод существует для обеспечения обратной бинарной совместимости с предыдущими версиями библиотеки Swing. Он просто возвращает результат, возвращаемый методом currentManager(Component).
- Параметры:
-
c— JComponent; не используется - Возвращает:
- объект RepaintManager
setCurrentManager
public static void setCurrentManager(RepaintManager aRepaintManager)
- Параметры:
-
aRepaintManager— объект RepaintManager, который следует использовать
addInvalidComponent
public void addInvalidComponent(JComponent invalidComponent)
- Параметры:
-
invalidComponent— компонент - См. также:
removeInvalidComponent
public void removeInvalidComponent(JComponent component)
- Параметры:
-
component— компонент - См. также:
addDirtyRegion
public void addDirtyRegion(JComponent c, int x, int y, int w, int h)
- Параметры:
-
c— компонент для перерисовки; если значение равно null, ничего не происходит. -
x— координата X области для перерисовки -
y— координата Y области для перерисовки -
w— ширина области для перерисовки -
h— высота области для перерисовки - См. также:
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
- См. также:
addDirtyRegion
@Deprecated(since="9", forRemoval=true) public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
applet в список Component, которые необходимо перерисовать.- Параметры:
-
applet— апплет для перерисовки; если значение равно null, ничего не происходит. -
x— координата X области для перерисовки -
y— координата Y области для перерисовки -
w— ширина области для перерисовки -
h— высота области для перерисовки - Начиная с версии:
- 1.6
- См. также:
getDirtyRegion
public Rectangle getDirtyRegion(JComponent aComponent)
- Параметры:
-
aComponent— компонент - Возвращает:
- область
markCompletelyDirty
public void markCompletelyDirty(JComponent aComponent)
- Параметры:
-
aComponent— компонент
markCompletelyClean
public void markCompletelyClean(JComponent aComponent)
- Параметры:
-
aComponent— компонент
isCompletelyDirty
public boolean isCompletelyDirty(JComponent aComponent)
- Параметры:
-
aComponent— компонент - Возвращает:
-
true, если aComponent будет полностью перерисован при следующем вызове paintDirtyRegions().
validateInvalidComponents
public void validateInvalidComponents()
- См. также:
paintDirtyRegions
public void paintDirtyRegions()
- См. также:
toString
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
- См. также:
setDoubleBufferMaximumSize
public void setDoubleBufferMaximumSize(Dimension d)
- Параметры:
-
d— размерность
getDoubleBufferMaximumSize
public Dimension getDoubleBufferMaximumSize()
- Возвращает:
- объект Dimension, представляющий максимальный размер
setDoubleBufferingEnabled
public void setDoubleBufferingEnabled(boolean aFlag)
- Параметры:
-
aFlag— true для включения двойной буферизации - См. также:
isDoubleBufferingEnabled
public boolean isDoubleBufferingEnabled()
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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/RepaintManager.html