public class RepaintManager extends Object
As of 1.6 RepaintManager
handles repaint requests for Swing's top level components (JApplet
, JWindow
, JFrame
and JDialog
). Any calls to repaint
on one of these will call into the appropriate addDirtyRegion
method.
Constructor | Description |
---|---|
RepaintManager() |
Create a new RepaintManager instance. |
Modifier and Type | Method | Description |
---|---|---|
void |
addDirtyRegion |
Deprecated, for removal: This API element is subject to removal in a future version. The Applet API is deprecated. |
void |
addDirtyRegion |
Adds window to the list of Component s that need to be repainted. |
void |
addDirtyRegion |
Add a component in the list of components that should be refreshed. |
void |
addInvalidComponent |
Mark the component as in need of layout and queue a runnable for the event dispatching thread that will validate the components first isValidateRoot() ancestor. |
static RepaintManager |
currentManager |
Return the RepaintManager for the calling thread given a Component. |
static RepaintManager |
currentManager |
Return the RepaintManager for the calling thread given a JComponent. |
Rectangle |
getDirtyRegion |
Return the current dirty region for a component. |
Dimension |
getDoubleBufferMaximumSize() |
Returns the maximum double buffer size. |
Image |
getOffscreenBuffer |
Return the offscreen buffer that should be used as a double buffer with the component c . |
Image |
getVolatileOffscreenBuffer |
Return a volatile offscreen buffer that should be used as a double buffer with the specified component c . |
boolean |
isCompletelyDirty |
Convenience method that returns true if aComponent will be completely painted during the next paintDirtyRegions(). |
boolean |
isDoubleBufferingEnabled() |
Returns true if this RepaintManager is double buffered. |
void |
markCompletelyClean |
Mark a component completely clean. |
void |
markCompletelyDirty |
Mark a component completely dirty. |
void |
paintDirtyRegions() |
Paint all of the components that have been marked dirty. |
void |
removeInvalidComponent |
Remove a component from the list of invalid components. |
static void |
setCurrentManager |
Set the RepaintManager that should be used for the calling thread. |
void |
setDoubleBufferingEnabled |
Enables or disables double buffering in this RepaintManager. |
void |
setDoubleBufferMaximumSize |
Set the maximum double buffer size. |
String |
toString() |
Returns a string that displays and identifies this object's properties. |
void |
validateInvalidComponents() |
Validate all of the components that have been marked invalid. |
public RepaintManager()
public static RepaintManager currentManager(Component c)
c
- a Component -- unused in the default implementation, but could be used by an overridden version to return a different RepaintManager depending on the Componentpublic static RepaintManager currentManager(JComponent c)
Note: This method exists for backward binary compatibility with earlier versions of the Swing library. It simply returns the result returned by currentManager(Component)
.
c
- a JComponent -- unusedpublic static void setCurrentManager(RepaintManager aRepaintManager)
aRepaintManager
- the RepaintManager object to usepublic void addInvalidComponent(JComponent invalidComponent)
invalidComponent
- a componentpublic void removeInvalidComponent(JComponent component)
component
- a componentpublic void addDirtyRegion(JComponent c, int x, int y, int w, int h)
c
- Component to repaint, null results in nothing happening.x
- X coordinate of the region to repainty
- Y coordinate of the region to repaintw
- Width of the region to repainth
- Height of the region to repaintpublic void addDirtyRegion(Window window, int x, int y, int w, int h)
window
to the list of Component
s that need to be repainted.window
- Window to repaint, null results in nothing happening.x
- X coordinate of the region to repainty
- Y coordinate of the region to repaintw
- Width of the region to repainth
- Height of the region to repaint@Deprecated(since="9", forRemoval=true) public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
applet
to the list of Component
s that need to be repainted.applet
- Applet to repaint, null results in nothing happening.x
- X coordinate of the region to repainty
- Y coordinate of the region to repaintw
- Width of the region to repainth
- Height of the region to repaintpublic Rectangle getDirtyRegion(JComponent aComponent)
aComponent
- a componentpublic void markCompletelyDirty(JComponent aComponent)
aComponent
- a componentpublic void markCompletelyClean(JComponent aComponent)
aComponent
- a componentpublic boolean isCompletelyDirty(JComponent aComponent)
aComponent
- a componenttrue
if aComponent will be completely painted during the next paintDirtyRegions().public void validateInvalidComponents()
public void paintDirtyRegions()
public String toString()
public Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
c
. By default there is a double buffer per RepaintManager. The buffer might be smaller than (proposedWidth,proposedHeight)
This happens when the maximum double buffer size as been set for the receiving repaint manager.c
- the componentproposedWidth
- the width of the bufferproposedHeight
- the height of the bufferpublic Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
c
. The image returned will be an instance of VolatileImage, or null if a VolatileImage object could not be instantiated. This buffer might be smaller than (proposedWidth,proposedHeight)
. This happens when the maximum double buffer size has been set for this repaint manager.c
- the componentproposedWidth
- the width of the bufferproposedHeight
- the height of the bufferpublic void setDoubleBufferMaximumSize(Dimension d)
d
- the dimensionpublic Dimension getDoubleBufferMaximumSize()
public void setDoubleBufferingEnabled(boolean aFlag)
aFlag
- true to activate double bufferingpublic boolean isDoubleBufferingEnabled()
false
to avoid unnecessary buffering in Swing. On platforms where native double buffering is not supported, the default value will be 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