This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.swing
class RepaintManager

java.lang.Object extended by javax.swing.RepaintManager

public class RepaintManager
extends Object

This class manages repaint requests, allowing the number of repaints to be minimized, for example by collapsing multiple requests into a single repaint for members of a component tree.

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 Summary

          Create a new RepaintManager instance.
 
Method Summary
 void
addDirtyRegion(Applet applet, int x, int y, int w, int h)

          Adds applet to the list of Components that need to be repainted.
 void
addDirtyRegion(JComponent c, int x, int y, int w, int h)

          Add a component in the list of components that should be refreshed.
 void
addDirtyRegion(Window window, int x, int y, int w, int h)

          Adds window to the list of Components that need to be repainted.
 void
addInvalidComponent(JComponent invalidComponent)

          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

          Return the RepaintManager for the calling thread given a Component.
static RepaintManager

          Return the RepaintManager for the calling thread given a JComponent.
 Rectangle

          Return the current dirty region for a component.
 Dimension

          Returns the maximum double buffer size.
 Image
getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)

          Return the offscreen buffer that should be used as a double buffer with the component c.
 Image
getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)

          Return a volatile offscreen buffer that should be used as a double buffer with the specified component c.
 boolean

          Convenience method that returns true if aComponent will be completely painted during the next paintDirtyRegions().
 boolean

          Returns true if this RepaintManager is double buffered.
 void

          Mark a component completely clean.
 void

          Mark a component completely dirty.
 void

          Paint all of the components that have been marked dirty.
 void

          Remove a component from the list of invalid components.
static void

          Set the RepaintManager that should be used for the calling thread.
 void

          Enables or disables double buffering in this RepaintManager.
 void

          Set the maximum double buffer size.
 String

          Returns a string that displays and identifies this object's properties.
 void

          Validate all of the components that have been marked invalid.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepaintManager

public RepaintManager()
Create a new RepaintManager instance. You rarely call this constructor. directly. To get the default RepaintManager, use RepaintManager.currentManager(JComponent) (normally "this").

Method Detail

addDirtyRegion

public void addDirtyRegion(Applet applet,
                           int x,
                           int y,
                           int w,
                           int h)
Adds applet to the list of Components that need to be repainted.

Parameters:
applet - Applet to repaint, null results in nothing happening.
x - X coordinate of the region to repaint
y - Y coordinate of the region to repaint
w - Width of the region to repaint
h - Height of the region to repaint

addDirtyRegion

public void addDirtyRegion(JComponent c,
                           int x,
                           int y,
                           int w,
                           int h)
Add a component in the list of components that should be refreshed. If c already has a dirty region, the rectangle (x,y,w,h) will be unioned with the region that should be redrawn.

Parameters:
c - Component to repaint, null results in nothing happening.
x - X coordinate of the region to repaint
y - Y coordinate of the region to repaint
w - Width of the region to repaint
h - Height of the region to repaint

addDirtyRegion

public void addDirtyRegion(Window window,
                           int x,
                           int y,
                           int w,
                           int h)
Adds window to the list of Components that need to be repainted.

Parameters:
window - Window to repaint, null results in nothing happening.
x - X coordinate of the region to repaint
y - Y coordinate of the region to repaint
w - Width of the region to repaint
h - Height of the region to repaint

addInvalidComponent

public synchronized void addInvalidComponent(JComponent invalidComponent)
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.

Parameters:
invalidComponent

currentManager

public static RepaintManager currentManager(Component c)
Return the RepaintManager for the calling thread given a Component.

Parameters:
c - a Component -- unused in the default implementation, but could be used by an overridden version to return a different RepaintManager depending on the Component
Returns:
the RepaintManager object

currentManager

public static RepaintManager currentManager(JComponent c)
Return the RepaintManager for the calling thread given a JComponent.

Note: This method exists for backward binary compatibility with earlier versions of the Swing library. It simply returns the result returned by {@link #currentManager(Component)}.

Parameters:
c - a JComponent -- unused
Returns:
the RepaintManager object

getDirtyRegion

public Rectangle getDirtyRegion(JComponent aComponent)
Return the current dirty region for a component. Return an empty rectangle if the component is not dirty.

Parameters:
aComponent

getDoubleBufferMaximumSize

public Dimension getDoubleBufferMaximumSize()
Returns the maximum double buffer size.

Returns:
a Dimension object representing the maximum size

getOffscreenBuffer

public Image getOffscreenBuffer(Component c,
                                int proposedWidth,
                                int proposedHeight)
Return the offscreen buffer that should be used as a double buffer with the component 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.

Parameters:
c
proposedWidth
proposedHeight

getVolatileOffscreenBuffer

public Image getVolatileOffscreenBuffer(Component c,
                                        int proposedWidth,
                                        int proposedHeight)
Return a volatile offscreen buffer that should be used as a double buffer with the specified component 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.

Parameters:
c
proposedWidth
proposedHeight

isCompletelyDirty

public boolean isCompletelyDirty(JComponent aComponent)
Convenience method that returns true if aComponent will be completely painted during the next paintDirtyRegions(). If computing dirty regions is expensive for your component, use this method and avoid computing dirty region if it return true.

Parameters:
aComponent

isDoubleBufferingEnabled

public boolean isDoubleBufferingEnabled()
Returns true if this RepaintManager is double buffered. The default value for this property may vary from platform to platform. On platforms where native double buffering is supported in the AWT, the default value will be false to avoid unnecessary buffering in Swing. On platforms where native double buffering is not supported, the default value will be true.

Returns:
true if this object is double buffered

markCompletelyClean

public void markCompletelyClean(JComponent aComponent)
Mark a component completely clean. aComponent will not get painted during the next paintDirtyRegions() call.

Parameters:
aComponent

markCompletelyDirty

public void markCompletelyDirty(JComponent aComponent)
Mark a component completely dirty. aComponent will be completely painted during the next paintDirtyRegions() call.

Parameters:
aComponent

paintDirtyRegions

public void paintDirtyRegions()
Paint all of the components that have been marked dirty.


removeInvalidComponent

public synchronized void removeInvalidComponent(JComponent component)
Remove a component from the list of invalid components.

Parameters:
component

setCurrentManager

public static void setCurrentManager(RepaintManager aRepaintManager)
Set the RepaintManager that should be used for the calling thread. aRepaintManager will become the current RepaintManager for the calling thread's thread group.

Parameters:
aRepaintManager - the RepaintManager object to use

setDoubleBufferingEnabled

public void setDoubleBufferingEnabled(boolean aFlag)
Enables or disables double buffering in this RepaintManager. CAUTION: The default value for this property is set for optimal paint performance on the given platform and it is not recommended that programs modify this property directly.

Parameters:
aFlag - true to activate double buffering

setDoubleBufferMaximumSize

public void setDoubleBufferMaximumSize(Dimension d)
Set the maximum double buffer size.

Parameters:
d

toString

public synchronized String toString()
Returns a string that displays and identifies this object's properties.

Overrides:
toString in class Object
Returns:
a String representation of this object

validateInvalidComponents

public void validateInvalidComponents()
Validate all of the components that have been marked invalid.



This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.