Class DebugGraphics
java.lang.Object
java.awt.Graphics
javax.swing.DebugGraphics
public class DebugGraphics extends Graphics
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);
Field Summary
Modifier and Type | Field | Description |
---|---|---|
static final int |
BUFFERED_OPTION |
Show buffered operations in a separate Frame . |
static final int |
FLASH_OPTION |
Flash graphics operations. |
static final int |
LOG_OPTION |
Log graphics operations. |
static final int |
NONE_OPTION |
Don't debug graphics operations. |
Constructor Summary
Constructor | Description |
---|---|
DebugGraphics() |
Constructs a new debug graphics context that supports slowed down drawing. |
DebugGraphics |
Constructs a debug graphics context from an existing graphics context that supports slowed down drawing. |
DebugGraphics |
Constructs a debug graphics context from an existing graphics context that slows down drawing for the specified component. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
void |
clearRect |
Overrides Graphics.clearRect . |
void |
clipRect |
Overrides Graphics.clipRect . |
void |
copyArea |
Overrides Graphics.copyArea . |
Graphics |
create() |
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 |
Overrides Graphics.draw3DRect . |
void |
drawArc |
Overrides Graphics.drawArc . |
void |
drawBytes |
Overrides Graphics.drawBytes . |
void |
drawChars |
Overrides Graphics.drawChars . |
boolean |
drawImage |
Overrides Graphics.drawImage . |
boolean |
drawImage |
Overrides Graphics.drawImage . |
boolean |
drawImage |
Overrides Graphics.drawImage . |
boolean |
drawImage |
Overrides Graphics.drawImage . |
boolean |
drawImage |
Overrides Graphics.drawImage . |
boolean |
drawImage |
Overrides Graphics.drawImage . |
void |
drawLine |
Overrides Graphics.drawLine . |
void |
drawOval |
Overrides Graphics.drawOval . |
void |
drawPolygon |
Overrides Graphics.drawPolygon . |
void |
drawPolyline |
Overrides Graphics.drawPolyline . |
void |
drawRect |
Overrides Graphics.drawRect . |
void |
drawRoundRect |
Overrides Graphics.drawRoundRect . |
void |
drawString |
Overrides Graphics.drawString . |
void |
drawString |
Overrides Graphics.drawString . |
void |
fill3DRect |
Overrides Graphics.fill3DRect . |
void |
fillArc |
Overrides Graphics.fillArc . |
void |
fillOval |
Overrides Graphics.fillOval . |
void |
fillPolygon |
Overrides Graphics.fillPolygon . |
void |
fillRect |
Overrides Graphics.fillRect . |
void |
fillRoundRect |
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() |
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 |
Overrides Graphics.setClip . |
void |
setClip |
Overrides Graphics.setClip . |
void |
setColor |
Sets the color to be used for drawing and filling lines and shapes. |
void |
setDebugOptions |
Enables/disables diagnostic information about every graphics operation. |
static void |
setFlashColor |
Sets the Color used to flash drawing operations. |
static void |
setFlashCount |
Sets the number of times that drawing operations will flash. |
static void |
setFlashTime |
Sets the time delay of drawing operation flashing. |
void |
setFont |
Sets the Font used for text drawing operations. |
static void |
setLogStream |
Sets the stream to which the DebugGraphics logs drawing operations. |
void |
setPaintMode() |
Overrides Graphics.setPaintMode . |
void |
setXORMode |
Overrides Graphics.setXORMode . |
void |
translate |
Overrides Graphics.translate . |
Methods declared in class java.awt.Graphics
drawPolygon, fillPolygon, finalize, getClipBounds, getClipRect, hitClip, toString
Field Details
LOG_OPTION
public static final int LOG_OPTION
Log graphics operations.
- See Also:
FLASH_OPTION
public static final int FLASH_OPTION
Flash graphics operations.
- See Also:
BUFFERED_OPTION
public static final int BUFFERED_OPTION
Show buffered operations in a separate
Frame
.- See Also:
NONE_OPTION
public static final int NONE_OPTION
Don't debug graphics operations.
- See Also:
Constructor Details
DebugGraphics
public DebugGraphics()
Constructs a new debug graphics context that supports slowed down drawing.
DebugGraphics
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
DebugGraphics
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
Method Details
create
public Graphics create()
Overrides
Graphics.create
to return a DebugGraphics object.create
public Graphics create(int x, int y, int width, int height)
Overrides
Graphics.create
to return a DebugGraphics object.setFlashColor
public static void setFlashColor(Color flashColor)
Sets the Color used to flash drawing operations.
- Parameters:
-
flashColor
- the Color used to flash drawing operations
flashColor
public static Color flashColor()
Returns the Color used to flash drawing operations.
- Returns:
- the Color used to flash drawing operations
- See Also:
setFlashTime
public static void setFlashTime(int flashTime)
Sets the time delay of drawing operation flashing.
- Parameters:
-
flashTime
- the time delay of drawing operation flashing
flashTime
public static int flashTime()
Returns the time delay of drawing operation flashing.
- Returns:
- the time delay of drawing operation flashing
- See Also:
setFlashCount
public static void setFlashCount(int flashCount)
Sets the number of times that drawing operations will flash.
- Parameters:
-
flashCount
- number of times that drawing operations will flash
flashCount
public static int flashCount()
Returns the number of times that drawing operations will flash.
- Returns:
- the number of times that drawing operations will flash
- See Also:
setLogStream
public static void setLogStream(PrintStream stream)
Sets the stream to which the DebugGraphics logs drawing operations.
- Parameters:
-
stream
- the stream to which the DebugGraphics logs drawing operations
logStream
public static PrintStream logStream()
Returns the stream to which the DebugGraphics logs drawing operations.
- Returns:
- the stream to which the DebugGraphics logs drawing operations
- See Also:
setFont
public void setFont(Font aFont)
Sets the Font used for text drawing operations.
getFont
public Font getFont()
Returns the Font used for text drawing operations.
setColor
public void setColor(Color aColor)
Sets the color to be used for drawing and filling lines and shapes.
getColor
public Color getColor()
Returns the Color used for text drawing operations.
getFontMetrics
public FontMetrics getFontMetrics()
Overrides
Graphics.getFontMetrics
.- Overrides:
-
getFontMetrics
in classGraphics
- Returns:
- the font metrics of this graphics context's current font.
- See Also:
getFontMetrics
public FontMetrics getFontMetrics(Font f)
Overrides
Graphics.getFontMetrics
.- Specified by:
-
getFontMetrics
in classGraphics
- Parameters:
-
f
- the specified font - Returns:
- the font metrics for the specified font.
- See Also:
translate
public void translate(int x, int y)
Overrides
Graphics.translate
.setPaintMode
public void setPaintMode()
Overrides
Graphics.setPaintMode
.- Specified by:
-
setPaintMode
in classGraphics
setXORMode
public void setXORMode(Color aColor)
Overrides
Graphics.setXORMode
.- Specified by:
-
setXORMode
in classGraphics
- Parameters:
-
aColor
- the XOR alternation color
getClipBounds
public Rectangle getClipBounds()
Overrides
Graphics.getClipBounds
.- Specified by:
-
getClipBounds
in classGraphics
- Returns:
- the bounding rectangle of the current clipping area, or
null
if no clip is set. - See Also:
clipRect
public void clipRect(int x, int y, int width, int height)
Overrides
Graphics.clipRect
.- Specified by:
-
clipRect
in classGraphics
- 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 - See Also:
setClip
public void setClip(int x, int y, int width, int height)
Overrides
Graphics.setClip
.getClip
public Shape getClip()
Overrides
Graphics.getClip
.setClip
public void setClip(Shape clip)
Overrides
Graphics.setClip
.drawRect
public void drawRect(int x, int y, int width, int height)
Overrides
Graphics.drawRect
.fillRect
public void fillRect(int x, int y, int width, int height)
Overrides
Graphics.fillRect
.clearRect
public void clearRect(int x, int y, int width, int height)
Overrides
Graphics.clearRect
.drawRoundRect
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Overrides
Graphics.drawRoundRect
.- Specified by:
-
drawRoundRect
in classGraphics
- 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. - See Also:
fillRoundRect
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Overrides
Graphics.fillRoundRect
.- Specified by:
-
fillRoundRect
in classGraphics
- 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. - See Also:
drawLine
public void drawLine(int x1, int y1, int x2, int y2)
Overrides
Graphics.drawLine
.draw3DRect
public void draw3DRect(int x, int y, int width, int height, boolean raised)
Overrides
Graphics.draw3DRect
.- Overrides:
-
draw3DRect
in classGraphics
- 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. - See Also:
fill3DRect
public void fill3DRect(int x, int y, int width, int height, boolean raised)
Overrides
Graphics.fill3DRect
.- Overrides:
-
fill3DRect
in classGraphics
- 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. - See Also:
drawOval
public void drawOval(int x, int y, int width, int height)
Overrides
Graphics.drawOval
.fillOval
public void fillOval(int x, int y, int width, int height)
Overrides
Graphics.fillOval
.drawArc
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Overrides
Graphics.drawArc
.- Specified by:
-
drawArc
in classGraphics
- 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. - See Also:
fillArc
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Overrides
Graphics.fillArc
.- Specified by:
-
fillArc
in classGraphics
- 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. - See Also:
drawPolyline
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Overrides
Graphics.drawPolyline
.- Specified by:
-
drawPolyline
in classGraphics
- Parameters:
-
xPoints
- an array of x points -
yPoints
- an array of y points -
nPoints
- the total number of points - See Also:
drawPolygon
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Overrides
Graphics.drawPolygon
.- Specified by:
-
drawPolygon
in classGraphics
- Parameters:
-
xPoints
- a an array ofx
coordinates. -
yPoints
- a an array ofy
coordinates. -
nPoints
- a the total number of points. - See Also:
fillPolygon
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Overrides
Graphics.fillPolygon
.- Specified by:
-
fillPolygon
in classGraphics
- Parameters:
-
xPoints
- a an array ofx
coordinates. -
yPoints
- a an array ofy
coordinates. -
nPoints
- a the total number of points. - See Also:
drawString
public void drawString(String aString, int x, int y)
Overrides
Graphics.drawString
.- Specified by:
-
drawString
in classGraphics
- Parameters:
-
aString
- the string to be drawn. -
x
- the x coordinate. -
y
- the y coordinate. - See Also:
drawString
public void drawString(AttributedCharacterIterator iterator, int x, int y)
Overrides
Graphics.drawString
.- Specified by:
-
drawString
in classGraphics
- Parameters:
-
iterator
- the iterator whose text is to be drawn -
x
- the x coordinate. -
y
- the y coordinate. - See Also:
drawBytes
public void drawBytes(byte[] data, int offset, int length, int x, int y)
Overrides
Graphics.drawBytes
.drawChars
public void drawChars(char[] data, int offset, int length, int x, int y)
Overrides
Graphics.drawChars
.drawImage
public boolean drawImage(Image img, int x, int y, ImageObserver observer)
Overrides
Graphics.drawImage
.- Specified by:
-
drawImage
in classGraphics
- Parameters:
-
img
- the specified image to be drawn. This method does nothing ifimg
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. - See Also:
drawImage
public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Overrides
Graphics.drawImage
.- Specified by:
-
drawImage
in classGraphics
- Parameters:
-
img
- the specified image to be drawn. This method does nothing ifimg
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. - See Also:
drawImage
public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
Overrides
Graphics.drawImage
.- Specified by:
-
drawImage
in classGraphics
- Parameters:
-
img
- the specified image to be drawn. This method does nothing ifimg
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. - See Also:
drawImage
public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
Overrides
Graphics.drawImage
.- Specified by:
-
drawImage
in classGraphics
- Parameters:
-
img
- the specified image to be drawn. This method does nothing ifimg
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. - See Also:
drawImage
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
.- Specified by:
-
drawImage
in classGraphics
- Parameters:
-
img
- the specified image to be drawn. This method does nothing ifimg
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. - See Also:
drawImage
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
.- Specified by:
-
drawImage
in classGraphics
- Parameters:
-
img
- the specified image to be drawn. This method does nothing ifimg
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. - See Also:
copyArea
public void copyArea(int x, int y, int width, int height, int destX, int destY)
Overrides
Graphics.copyArea
.- Specified by:
-
copyArea
in classGraphics
- 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.
dispose
public void dispose()
Overrides
Graphics.dispose
.isDrawingBuffer
public boolean isDrawingBuffer()
Returns the drawingBuffer value.
- Returns:
- true if this object is drawing from a Buffer
setDebugOptions
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.
- Parameters:
-
options
- indicates how diagnostic information should be displayed
getDebugOptions
public int getDebugOptions()
Returns the current debugging options for this DebugGraphics.
- Returns:
- the current debugging options for this DebugGraphics
- See Also:
© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/DebugGraphics.html