java.lang.Object
java.awt.Graphics
javax.swing.DebugGraphics
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);
- Since:
- 1.2
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intShow buffered operations in a separateFrame.static final intFlash graphics operations.static final intLog graphics operations.static final intDon't debug graphics operations. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new debug graphics context that supports slowed down drawing.DebugGraphics(Graphics graphics) Constructs a debug graphics context from an existing 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. -
Method Summary
Modifier and TypeMethodDescriptionvoidclearRect(int x, int y, int width, int height) OverridesGraphics.clearRect.voidclipRect(int x, int y, int width, int height) OverridesGraphics.clipRect.voidcopyArea(int x, int y, int width, int height, int destX, int destY) OverridesGraphics.copyArea.create()OverridesGraphics.createto return a DebugGraphics object.create(int x, int y, int width, int height) OverridesGraphics.createto return a DebugGraphics object.voiddispose()OverridesGraphics.dispose.voiddraw3DRect(int x, int y, int width, int height, boolean raised) OverridesGraphics.draw3DRect.voiddrawArc(int x, int y, int width, int height, int startAngle, int arcAngle) OverridesGraphics.drawArc.voiddrawBytes(byte[] data, int offset, int length, int x, int y) OverridesGraphics.drawBytes.voiddrawChars(char[] data, int offset, int length, int x, int y) OverridesGraphics.drawChars.booleandrawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer) OverridesGraphics.drawImage.booleandrawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) OverridesGraphics.drawImage.booleandrawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) OverridesGraphics.drawImage.booleandrawImage(Image img, int x, int y, int width, int height, ImageObserver observer) OverridesGraphics.drawImage.booleandrawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) OverridesGraphics.drawImage.booleandrawImage(Image img, int x, int y, ImageObserver observer) OverridesGraphics.drawImage.voiddrawLine(int x1, int y1, int x2, int y2) OverridesGraphics.drawLine.voiddrawOval(int x, int y, int width, int height) OverridesGraphics.drawOval.voiddrawPolygon(int[] xPoints, int[] yPoints, int nPoints) OverridesGraphics.drawPolygon.voiddrawPolyline(int[] xPoints, int[] yPoints, int nPoints) OverridesGraphics.drawPolyline.voiddrawRect(int x, int y, int width, int height) OverridesGraphics.drawRect.voiddrawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) OverridesGraphics.drawRoundRect.voiddrawString(String aString, int x, int y) OverridesGraphics.drawString.voiddrawString(AttributedCharacterIterator iterator, int x, int y) OverridesGraphics.drawString.voidfill3DRect(int x, int y, int width, int height, boolean raised) OverridesGraphics.fill3DRect.voidfillArc(int x, int y, int width, int height, int startAngle, int arcAngle) OverridesGraphics.fillArc.voidfillOval(int x, int y, int width, int height) OverridesGraphics.fillOval.voidfillPolygon(int[] xPoints, int[] yPoints, int nPoints) OverridesGraphics.fillPolygon.voidfillRect(int x, int y, int width, int height) OverridesGraphics.fillRect.voidfillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) OverridesGraphics.fillRoundRect.static ColorReturns the Color used to flash drawing operations.static intReturns the number of times that drawing operations will flash.static intReturns the time delay of drawing operation flashing.getClip()OverridesGraphics.getClip.OverridesGraphics.getClipBounds.getColor()Returns the Color used for text drawing operations.intReturns the current debugging options for this DebugGraphics.getFont()Returns the Font used for text drawing operations.OverridesGraphics.getFontMetrics.OverridesGraphics.getFontMetrics.booleanReturns the drawingBuffer value.static PrintStreamReturns the stream to which the DebugGraphics logs drawing operations.voidsetClip(int x, int y, int width, int height) OverridesGraphics.setClip.voidOverridesGraphics.setClip.voidSets the color to be used for drawing and filling lines and shapes.voidsetDebugOptions(int options) Enables/disables diagnostic information about every graphics operation.static voidsetFlashColor(Color flashColor) Sets the Color used to flash drawing operations.static voidsetFlashCount(int flashCount) Sets the number of times that drawing operations will flash.static voidsetFlashTime(int flashTime) Sets the time delay of drawing operation flashing.voidSets the Font used for text drawing operations.static voidsetLogStream(PrintStream stream) Sets the stream to which the DebugGraphics logs drawing operations.voidOverridesGraphics.setPaintMode.voidsetXORMode(Color aColor) OverridesGraphics.setXORMode.voidtranslate(int x, int y) OverridesGraphics.translate.Methods declared in class java.awt.Graphics
drawPolygon, fillPolygon, finalize, getClipBounds, getClipRect, hitClip, toString
-
Field Details
-
LOG_OPTION
public static final int LOG_OPTIONLog graphics operations.- See Also:
-
FLASH_OPTION
public static final int FLASH_OPTIONFlash graphics operations.- See Also:
-
BUFFERED_OPTION
public static final int BUFFERED_OPTIONShow buffered operations in a separateFrame.- See Also:
-
NONE_OPTION
public static final int NONE_OPTIONDon't debug graphics operations.- See Also:
-
-
Constructor Details
-
DebugGraphics
public DebugGraphics()Constructs a new debug graphics context that supports slowed down drawing.NOTE: This constructor should not be called by applications, it is for internal use only. When called directly it will create an un-usable instance.
-
DebugGraphics
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 downcomponent- the JComponent to draw slowly
-
DebugGraphics
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
OverridesGraphics.createto return a DebugGraphics object. -
create
OverridesGraphics.createto return a DebugGraphics object. -
setFlashColor
Sets the Color used to flash drawing operations.- Parameters:
flashColor- the Color used to flash drawing operations
-
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
Sets the stream to which the DebugGraphics logs drawing operations.- Parameters:
stream- the stream to which the DebugGraphics logs drawing operations
-
logStream
Returns the stream to which the DebugGraphics logs drawing operations.- Returns:
- the stream to which the DebugGraphics logs drawing operations
- See Also:
-
setFont
Sets the Font used for text drawing operations. -
getFont
Returns the Font used for text drawing operations. -
setColor
Sets the color to be used for drawing and filling lines and shapes. -
getColor
Returns the Color used for text drawing operations. -
getFontMetrics
OverridesGraphics.getFontMetrics.- Overrides:
getFontMetricsin classGraphics- Returns:
- the font metrics of this graphics context's current font.
- See Also:
-
getFontMetrics
OverridesGraphics.getFontMetrics.- Specified by:
getFontMetricsin classGraphics- Parameters:
f- the specified font- Returns:
- the font metrics for the specified font.
- See Also:
-
translate
public void translate(int x, int y) OverridesGraphics.translate. -
setPaintMode
public void setPaintMode()OverridesGraphics.setPaintMode.- Specified by:
setPaintModein classGraphics
-
setXORMode
OverridesGraphics.setXORMode.- Specified by:
setXORModein classGraphics- Parameters:
aColor- the XOR alternation color
-
getClipBounds
OverridesGraphics.getClipBounds.- Specified by:
getClipBoundsin classGraphics- Returns:
- the bounding rectangle of the current clipping area,
or
nullif no clip is set. - See Also:
-
clipRect
public void clipRect(int x, int y, int width, int height) OverridesGraphics.clipRect.- Specified by:
clipRectin classGraphics- Parameters:
x- the x coordinate of the rectangle to intersect the clip withy- the y coordinate of the rectangle to intersect the clip withwidth- the width of the rectangle to intersect the clip withheight- the height of the rectangle to intersect the clip with- See Also:
-
setClip
public void setClip(int x, int y, int width, int height) OverridesGraphics.setClip. -
getClip
OverridesGraphics.getClip. -
setClip
OverridesGraphics.setClip. -
drawRect
public void drawRect(int x, int y, int width, int height) OverridesGraphics.drawRect. -
fillRect
public void fillRect(int x, int y, int width, int height) OverridesGraphics.fillRect. -
clearRect
public void clearRect(int x, int y, int width, int height) OverridesGraphics.clearRect. -
drawRoundRect
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) OverridesGraphics.drawRoundRect.- Specified by:
drawRoundRectin 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) OverridesGraphics.fillRoundRect.- Specified by:
fillRoundRectin 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) OverridesGraphics.drawLine. -
draw3DRect
public void draw3DRect(int x, int y, int width, int height, boolean raised) OverridesGraphics.draw3DRect.- Overrides:
draw3DRectin 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) OverridesGraphics.fill3DRect.- Overrides:
fill3DRectin 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) OverridesGraphics.drawOval. -
fillOval
public void fillOval(int x, int y, int width, int height) OverridesGraphics.fillOval. -
drawArc
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) OverridesGraphics.drawArc.- Specified by:
drawArcin 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) OverridesGraphics.fillArc.- Specified by:
fillArcin 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) OverridesGraphics.drawPolyline.- Specified by:
drawPolylinein classGraphics- Parameters:
xPoints- an array of x pointsyPoints- an array of y pointsnPoints- the total number of points- See Also:
-
drawPolygon
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) OverridesGraphics.drawPolygon.- Specified by:
drawPolygonin classGraphics- Parameters:
xPoints- an array ofxcoordinates.yPoints- an array ofycoordinates.nPoints- the total number of points.- See Also:
-
fillPolygon
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) OverridesGraphics.fillPolygon.- Specified by:
fillPolygonin classGraphics- Parameters:
xPoints- an array ofxcoordinates.yPoints- an array ofycoordinates.nPoints- the total number of points.- See Also:
-
drawString
OverridesGraphics.drawString.- Specified by:
drawStringin classGraphics- Parameters:
aString- the string to be drawn.x- the x coordinate.y- the y coordinate.- See Also:
-
drawString
OverridesGraphics.drawString.- Specified by:
drawStringin classGraphics- Parameters:
iterator- the iterator whose text is to be drawnx- the x coordinate.y- the y coordinate.- See Also:
-
drawBytes
public void drawBytes(byte[] data, int offset, int length, int x, int y) OverridesGraphics.drawBytes. -
drawChars
public void drawChars(char[] data, int offset, int length, int x, int y) OverridesGraphics.drawChars. -
drawImage
OverridesGraphics.drawImage.- Specified by:
drawImagein classGraphics- Parameters:
img- the specified image to be drawn. This method does nothing ifimgis null.x- the x coordinate.y- the y coordinate.observer- object to be notified as more of the image is converted.- Returns:
falseif the image pixels are still changing;trueotherwise.- See Also:
-
drawImage
OverridesGraphics.drawImage.- Specified by:
drawImagein classGraphics- Parameters:
img- the specified image to be drawn. This method does nothing ifimgis 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:
falseif the image pixels are still changing;trueotherwise.- See Also:
-
drawImage
OverridesGraphics.drawImage.- Specified by:
drawImagein classGraphics- Parameters:
img- the specified image to be drawn. This method does nothing ifimgis 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:
falseif the image pixels are still changing;trueotherwise.- See Also:
-
drawImage
public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) OverridesGraphics.drawImage.- Specified by:
drawImagein classGraphics- Parameters:
img- the specified image to be drawn. This method does nothing ifimgis 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:
falseif the image pixels are still changing;trueotherwise.- 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) OverridesGraphics.drawImage.- Specified by:
drawImagein classGraphics- Parameters:
img- the specified image to be drawn. This method does nothing ifimgis 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:
falseif the image pixels are still changing;trueotherwise.- 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) OverridesGraphics.drawImage.- Specified by:
drawImagein classGraphics- Parameters:
img- the specified image to be drawn. This method does nothing ifimgis 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:
falseif the image pixels are still changing;trueotherwise.- See Also:
-
copyArea
public void copyArea(int x, int y, int width, int height, int destX, int destY) OverridesGraphics.copyArea.- Specified by:
copyAreain 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()OverridesGraphics.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:
-