public class

DebugGraphics

extends Graphics
java.lang.Object
   ↳ java.awt.Graphics
     ↳ javax.swing.DebugGraphics

Class Overview

Graphics subclass supporting graphics debugging. Overrides most methods from Graphics. DebugGraphics objects are rarely created by hand. They are most frequently created automatically when a JComponent's debugGraphicsOptions are changed using the setDebugGraphicsOptions() method.

NOTE: You must turn off double buffering to use DebugGraphics: RepaintManager repaintManager = RepaintManager.currentManager(component); repaintManager.setDoubleBufferingEnabled(false);

Summary

Constants
int BUFFERED_OPTION Show buffered operations in a separate Frame.
int FLASH_OPTION Flash graphics operations.
int LOG_OPTION Log graphics operations.
int NONE_OPTION Don't debug graphics operations.
Public Constructors
DebugGraphics()
Constructs a new debug graphics context that supports slowed down drawing.
DebugGraphics(Graphics graphics, JComponent component)
Constructs a debug graphics context from an existing graphics context that slows down drawing for the specified component.
DebugGraphics(Graphics graphics)
Constructs a debug graphics context from an existing graphics context that supports slowed down drawing.
Public Methods
void clearRect(int x, int y, int width, int height)
Overrides Graphics.clearRect.
void clipRect(int x, int y, int width, int height)
Overrides Graphics.clipRect.
void copyArea(int x, int y, int width, int height, int destX, int destY)
Overrides Graphics.copyArea.
Graphics create(int x, int y, int width, int height)
Overrides Graphics.create to return a DebugGraphics object.
Graphics create()
Overrides Graphics.create to return a DebugGraphics object.
void dispose()
Overrides Graphics.dispose.
void draw3DRect(int x, int y, int width, int height, boolean raised)
Overrides Graphics.draw3DRect.
void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Overrides Graphics.drawArc.
void drawBytes(byte[] data, int offset, int length, int x, int y)
Overrides Graphics.drawBytes.
void drawChars(char[] data, int offset, int length, int x, int y)
Overrides Graphics.drawChars.
boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
Overrides Graphics.drawImage.
boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
Overrides Graphics.drawImage.
boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
Overrides Graphics.drawImage.
boolean drawImage(Image img, int x, int y, ImageObserver observer)
Overrides Graphics.drawImage.
boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Overrides Graphics.drawImage.
boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
Overrides Graphics.drawImage.
void drawLine(int x1, int y1, int x2, int y2)
Overrides Graphics.drawLine.
void drawOval(int x, int y, int width, int height)
Overrides Graphics.drawOval.
void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Overrides Graphics.drawPolygon.
void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Overrides Graphics.drawPolyline.
void drawRect(int x, int y, int width, int height)
Overrides Graphics.drawRect.
void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Overrides Graphics.drawRoundRect.
void drawString(String aString, int x, int y)
Overrides Graphics.drawString.
void drawString(AttributedCharacterIterator iterator, int x, int y)
Overrides Graphics.drawString.
void fill3DRect(int x, int y, int width, int height, boolean raised)
Overrides Graphics.fill3DRect.
void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Overrides Graphics.fillArc.
void fillOval(int x, int y, int width, int height)
Overrides Graphics.fillOval.
void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Overrides Graphics.fillPolygon.
void fillRect(int x, int y, int width, int height)
Overrides Graphics.fillRect.
void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Overrides Graphics.fillRoundRect.
static Color flashColor()
Returns the Color used to flash drawing operations.
static int flashCount()
Returns the number of times that drawing operations will flash.
static int flashTime()
Returns the time delay of drawing operation flashing.
Shape getClip()
Overrides Graphics.getClip.
Rectangle getClipBounds()
Overrides Graphics.getClipBounds.
Color getColor()
Returns the Color used for text drawing operations.
int getDebugOptions()
Returns the current debugging options for this DebugGraphics.
Font getFont()
Returns the Font used for text drawing operations.
FontMetrics getFontMetrics(Font f)
Overrides Graphics.getFontMetrics.
FontMetrics getFontMetrics()
Overrides Graphics.getFontMetrics.
boolean isDrawingBuffer()
Returns the drawingBuffer value.
static PrintStream logStream()
Returns the stream to which the DebugGraphics logs drawing operations.
void setClip(Shape clip)
Overrides Graphics.setClip.
void setClip(int x, int y, int width, int height)
Overrides Graphics.setClip.
void setColor(Color aColor)
Sets the color to be used for drawing and filling lines and shapes.
void setDebugOptions(int options)
Enables/disables diagnostic information about every graphics operation.
static void setFlashColor(Color flashColor)
Sets the Color used to flash drawing operations.
static void setFlashCount(int flashCount)
Sets the number of times that drawing operations will flash.
static void setFlashTime(int flashTime)
Sets the time delay of drawing operation flashing.
void setFont(Font aFont)
Sets the Font used for text drawing operations.
static void setLogStream(PrintStream stream)
Sets the stream to which the DebugGraphics logs drawing operations.
void setPaintMode()
Overrides Graphics.setPaintMode.
void setXORMode(Color aColor)
Overrides Graphics.setXORMode.
void translate(int x, int y)
Overrides Graphics.translate.
[Expand]
Inherited Methods
From class java.awt.Graphics
From class java.lang.Object

Constants

public static final int BUFFERED_OPTION

Show buffered operations in a separate Frame.

Constant Value: 4 (0x00000004)

public static final int FLASH_OPTION

Flash graphics operations.

Constant Value: 2 (0x00000002)

public static final int LOG_OPTION

Log graphics operations.

Constant Value: 1 (0x00000001)

public static final int NONE_OPTION

Don't debug graphics operations.

Constant Value: -1 (0xffffffff)

Public Constructors

public DebugGraphics ()

Constructs a new debug graphics context that supports slowed down drawing.

public DebugGraphics (Graphics graphics, JComponent component)

Constructs a debug graphics context from an existing graphics context that slows down drawing for the specified component.

Parameters
graphics the Graphics context to slow down
component the JComponent to draw slowly

public DebugGraphics (Graphics graphics)

Constructs a debug graphics context from an existing graphics context that supports slowed down drawing.

Parameters
graphics the Graphics context to slow down

Public Methods

public void clearRect (int x, int y, int width, int height)

Overrides Graphics.clearRect.

Parameters
x the x coordinate of the rectangle to clear.
y the y coordinate of the rectangle to clear.
width the width of the rectangle to clear.
height the height of the rectangle to clear.

public void clipRect (int x, int y, int width, int height)

Overrides Graphics.clipRect.

Parameters
x the x coordinate of the rectangle to intersect the clip with
y the y coordinate of the rectangle to intersect the clip with
width the width of the rectangle to intersect the clip with
height the height of the rectangle to intersect the clip with

public void copyArea (int x, int y, int width, int height, int destX, int destY)

Overrides Graphics.copyArea.

Parameters
x the x coordinate of the source rectangle.
y the y coordinate of the source rectangle.
width the width of the source rectangle.
height the height of the source rectangle.
destX the horizontal distance to copy the pixels.
destY the vertical distance to copy the pixels.

public Graphics create (int x, int y, int width, int height)

Overrides Graphics.create to return a DebugGraphics object.

Parameters
x the x coordinate.
y the y coordinate.
width the width of the clipping rectangle.
height the height of the clipping rectangle.
Returns
  • a new graphics context.

public Graphics create ()

Overrides Graphics.create to return a DebugGraphics object.

Returns
  • a new graphics context that is a copy of this graphics context.

public void dispose ()

Overrides Graphics.dispose.

public void draw3DRect (int x, int y, int width, int height, boolean raised)

Overrides Graphics.draw3DRect.

Parameters
x the x coordinate of the rectangle to be drawn.
y the y coordinate of the rectangle to be drawn.
width the width of the rectangle to be drawn.
height the height of the rectangle to be drawn.
raised a boolean that determines whether the rectangle appears to be raised above the surface or sunk into the surface.

public void drawArc (int x, int y, int width, int height, int startAngle, int arcAngle)

Overrides Graphics.drawArc.

Parameters
x the x coordinate of the upper-left corner of the arc to be drawn.
y the y coordinate of the upper-left corner of the arc to be drawn.
width the width of the arc to be drawn.
height the height of the arc to be drawn.
startAngle the beginning angle.
arcAngle the angular extent of the arc, relative to the start angle.

public void drawBytes (byte[] data, int offset, int length, int x, int y)

Overrides Graphics.drawBytes.

Parameters
data the data to be drawn
offset the start offset in the data
length the number of bytes that are drawn
x the x coordinate of the baseline of the text
y the y coordinate of the baseline of the text

public void drawChars (char[] data, int offset, int length, int x, int y)

Overrides Graphics.drawChars.

Parameters
data the array of characters to be drawn
offset the start offset in the data
length the number of characters to be drawn
x the x coordinate of the baseline of the text
y the y coordinate of the baseline of the text

public boolean drawImage (Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)

Overrides Graphics.drawImage.

Parameters
img the specified image to be drawn. This method does nothing if img is null.
x the x coordinate.
y the y coordinate.
width the width of the rectangle.
height the height of the rectangle.
bgcolor the background color to paint under the non-opaque portions of the image.
observer object to be notified as more of the image is converted.
Returns
  • false if the image pixels are still changing; true otherwise.

public boolean drawImage (Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)

Overrides Graphics.drawImage.

Parameters
img the specified image to be drawn. This method does nothing if img is null.
dx1 the x coordinate of the first corner of the destination rectangle.
dy1 the y coordinate of the first corner of the destination rectangle.
dx2 the x coordinate of the second corner of the destination rectangle.
dy2 the y coordinate of the second corner of the destination rectangle.
sx1 the x coordinate of the first corner of the source rectangle.
sy1 the y coordinate of the first corner of the source rectangle.
sx2 the x coordinate of the second corner of the source rectangle.
sy2 the y coordinate of the second corner of the source rectangle.
bgcolor the background color to paint under the non-opaque portions of the image.
observer object to be notified as more of the image is scaled and converted.
Returns
  • false if the image pixels are still changing; true otherwise.

public boolean drawImage (Image img, int x, int y, Color bgcolor, ImageObserver observer)

Overrides Graphics.drawImage.

Parameters
img the specified image to be drawn. This method does nothing if img is null.
x the x coordinate.
y the y coordinate.
bgcolor the background color to paint under the non-opaque portions of the image.
observer object to be notified as more of the image is converted.
Returns
  • false if the image pixels are still changing; true otherwise.

public boolean drawImage (Image img, int x, int y, ImageObserver observer)

Overrides Graphics.drawImage.

Parameters
img the specified image to be drawn. This method does nothing if img is null.
x the x coordinate.
y the y coordinate.
observer object to be notified as more of the image is converted.
Returns
  • false if the image pixels are still changing; true otherwise.

public boolean drawImage (Image img, int x, int y, int width, int height, ImageObserver observer)

Overrides Graphics.drawImage.

Parameters
img the specified image to be drawn. This method does nothing if img is null.
x the x coordinate.
y the y coordinate.
width the width of the rectangle.
height the height of the rectangle.
observer object to be notified as more of the image is converted.
Returns
  • false if the image pixels are still changing; true otherwise.

public boolean drawImage (Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)

Overrides Graphics.drawImage.

Parameters
img the specified image to be drawn. This method does nothing if img is null.
dx1 the x coordinate of the first corner of the destination rectangle.
dy1 the y coordinate of the first corner of the destination rectangle.
dx2 the x coordinate of the second corner of the destination rectangle.
dy2 the y coordinate of the second corner of the destination rectangle.
sx1 the x coordinate of the first corner of the source rectangle.
sy1 the y coordinate of the first corner of the source rectangle.
sx2 the x coordinate of the second corner of the source rectangle.
sy2 the y coordinate of the second corner of the source rectangle.
observer object to be notified as more of the image is scaled and converted.
Returns
  • false if the image pixels are still changing; true otherwise.

public void drawLine (int x1, int y1, int x2, int y2)

Overrides Graphics.drawLine.

Parameters
x1 the first point's x coordinate.
y1 the first point's y coordinate.
x2 the second point's x coordinate.
y2 the second point's y coordinate.

public void drawOval (int x, int y, int width, int height)

Overrides Graphics.drawOval.

Parameters
x the x coordinate of the upper left corner of the oval to be drawn.
y the y coordinate of the upper left corner of the oval to be drawn.
width the width of the oval to be drawn.
height the height of the oval to be drawn.

public void drawPolygon (int[] xPoints, int[] yPoints, int nPoints)

Overrides Graphics.drawPolygon.

Parameters
xPoints a an array of x coordinates.
yPoints a an array of y coordinates.
nPoints a the total number of points.

public void drawPolyline (int[] xPoints, int[] yPoints, int nPoints)

Overrides Graphics.drawPolyline.

Parameters
xPoints an array of x points
yPoints an array of y points
nPoints the total number of points

public void drawRect (int x, int y, int width, int height)

Overrides Graphics.drawRect.

Parameters
x the x coordinate of the rectangle to be drawn.
y the y coordinate of the rectangle to be drawn.
width the width of the rectangle to be drawn.
height the height of the rectangle to be drawn.

public void drawRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)

Overrides Graphics.drawRoundRect.

Parameters
x the x coordinate of the rectangle to be drawn.
y the y coordinate of the rectangle to be drawn.
width the width of the rectangle to be drawn.
height the height of the rectangle to be drawn.
arcWidth the horizontal diameter of the arc at the four corners.
arcHeight the vertical diameter of the arc at the four corners.

public void drawString (String aString, int x, int y)

Overrides Graphics.drawString.

Parameters
aString the string to be drawn.
x the x coordinate.
y the y coordinate.

public void drawString (AttributedCharacterIterator iterator, int x, int y)

Overrides Graphics.drawString.

Parameters
iterator the iterator whose text is to be drawn
x the x coordinate.
y the y coordinate.

public void fill3DRect (int x, int y, int width, int height, boolean raised)

Overrides Graphics.fill3DRect.

Parameters
x the x coordinate of the rectangle to be filled.
y the y coordinate of the rectangle to be filled.
width the width of the rectangle to be filled.
height the height of the rectangle to be filled.
raised a boolean value that determines whether the rectangle appears to be raised above the surface or etched into the surface.

public void fillArc (int x, int y, int width, int height, int startAngle, int arcAngle)

Overrides Graphics.fillArc.

Parameters
x the x coordinate of the upper-left corner of the arc to be filled.
y the y coordinate of the upper-left corner of the arc to be filled.
width the width of the arc to be filled.
height the height of the arc to be filled.
startAngle the beginning angle.
arcAngle the angular extent of the arc, relative to the start angle.

public void fillOval (int x, int y, int width, int height)

Overrides Graphics.fillOval.

Parameters
x the x coordinate of the upper left corner of the oval to be filled.
y the y coordinate of the upper left corner of the oval to be filled.
width the width of the oval to be filled.
height the height of the oval to be filled.

public void fillPolygon (int[] xPoints, int[] yPoints, int nPoints)

Overrides Graphics.fillPolygon.

Parameters
xPoints a an array of x coordinates.
yPoints a an array of y coordinates.
nPoints a the total number of points.

public void fillRect (int x, int y, int width, int height)

Overrides Graphics.fillRect.

Parameters
x the x coordinate of the rectangle to be filled.
y the y coordinate of the rectangle to be filled.
width the width of the rectangle to be filled.
height the height of the rectangle to be filled.

public void fillRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)

Overrides Graphics.fillRoundRect.

Parameters
x the x coordinate of the rectangle to be filled.
y the y coordinate of the rectangle to be filled.
width the width of the rectangle to be filled.
height the height of the rectangle to be filled.
arcWidth the horizontal diameter of the arc at the four corners.
arcHeight the vertical diameter of the arc at the four corners.

public static Color flashColor ()

Returns the Color used to flash drawing operations.

public static int flashCount ()

Returns the number of times that drawing operations will flash.

public static int flashTime ()

Returns the time delay of drawing operation flashing.

public Shape getClip ()

Overrides Graphics.getClip.

Returns
  • a Shape object representing the current clipping area, or null if no clip is set.

public Rectangle getClipBounds ()

Overrides Graphics.getClipBounds.

Returns
  • the bounding rectangle of the current clipping area, or null if no clip is set.

public Color getColor ()

Returns the Color used for text drawing operations.

Returns
  • this graphics context's current color.
See Also

public int getDebugOptions ()

Returns the current debugging options for this DebugGraphics.

public Font getFont ()

Returns the Font used for text drawing operations.

Returns
  • this graphics context's current font.
See Also

public FontMetrics getFontMetrics (Font f)

Overrides Graphics.getFontMetrics.

Parameters
f the specified font
Returns
  • the font metrics for the specified font.

public FontMetrics getFontMetrics ()

Overrides Graphics.getFontMetrics.

Returns
  • the font metrics of this graphics context's current font.

public boolean isDrawingBuffer ()

Returns the drawingBuffer value.

Returns
  • true if this object is drawing from a Buffer

public static PrintStream logStream ()

Returns the stream to which the DebugGraphics logs drawing operations.

public void setClip (Shape clip)

Overrides Graphics.setClip.

Parameters
clip the Shape to use to set the clip

public void setClip (int x, int y, int width, int height)

Overrides Graphics.setClip.

Parameters
x the x coordinate of the new clip rectangle.
y the y coordinate of the new clip rectangle.
width the width of the new clip rectangle.
height the height of the new clip rectangle.

public void setColor (Color aColor)

Sets the color to be used for drawing and filling lines and shapes.

Parameters
aColor the new rendering color.

public void setDebugOptions (int options)

Enables/disables diagnostic information about every graphics operation. The value of options indicates how this information should be displayed. LOG_OPTION causes a text message to be printed. FLASH_OPTION causes the drawing to flash several times. BUFFERED_OPTION creates a new Frame that shows each operation on an offscreen buffer. The value of options is bitwise OR'd into the current value. To disable debugging use NONE_OPTION.

public static void setFlashColor (Color flashColor)

Sets the Color used to flash drawing operations.

public static void setFlashCount (int flashCount)

Sets the number of times that drawing operations will flash.

public static void setFlashTime (int flashTime)

Sets the time delay of drawing operation flashing.

public void setFont (Font aFont)

Sets the Font used for text drawing operations.

Parameters
aFont the font.

public static void setLogStream (PrintStream stream)

Sets the stream to which the DebugGraphics logs drawing operations.

public void setPaintMode ()

Overrides Graphics.setPaintMode.

public void setXORMode (Color aColor)

Overrides Graphics.setXORMode.

Parameters
aColor the XOR alternation color

public void translate (int x, int y)

Overrides Graphics.translate.

Parameters
x the x coordinate.
y the y coordinate.