DebugGraphicspublic 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); |
Fields Summary |
---|
Graphics | graphics | Image | buffer | int | debugOptions | int | graphicsID | int | xOffset | int | yOffset | private static int | graphicsCount | public static final int | LOG_OPTIONLog graphics operations. | public static final int | FLASH_OPTIONFlash graphics operations. | public static final int | BUFFERED_OPTIONShow buffered operations in a separate Frame . | public static final int | NONE_OPTIONDon't debug graphics operations. | private static final Class | debugGraphicsInfoKey |
Constructors Summary |
---|
public DebugGraphics()Constructs a new debug graphics context that supports slowed
down drawing.
JComponent.DEBUG_GRAPHICS_LOADED = true;
super();
buffer = null;
xOffset = yOffset = 0;
| public DebugGraphics(Graphics graphics, JComponent component)Constructs a debug graphics context from an existing graphics
context that slows down drawing for the specified component.
this(graphics);
setDebugOptions(component.shouldDebugGraphics());
| public DebugGraphics(Graphics graphics)Constructs a debug graphics context from an existing graphics
context that supports slowed down drawing.
this();
this.graphics = graphics;
|
Methods Summary |
---|
public void | clearRect(int x, int y, int width, int height)Overrides Graphics.clearRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Clearing rect: " +
new Rectangle(x, y, width, height));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.clearRect(x, y, width, height);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.clearRect(x, y, width, height);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.clearRect(x, y, width, height);
| public void | clipRect(int x, int y, int width, int height)Overrides Graphics.clipRect .
graphics.clipRect(x, y, width, height);
if (debugLog()) {
info().log(toShortString() +
" Setting clipRect: " + (new Rectangle(x, y, width, height)) +
" New clipRect: " + graphics.getClip());
}
| public void | copyArea(int x, int y, int width, int height, int destX, int destY)Overrides Graphics.copyArea .
if (debugLog()) {
info().log(toShortString() +
" Copying area from: " +
new Rectangle(x, y, width, height) +
" to: " + new Point(destX, destY));
}
graphics.copyArea(x, y, width, height, destX, destY);
| public java.awt.Graphics | create()Overrides Graphics.create to return a DebugGraphics object.
DebugGraphics debugGraphics;
debugGraphics = new DebugGraphics();
debugGraphics.graphics = graphics.create();
debugGraphics.debugOptions = debugOptions;
debugGraphics.buffer = buffer;
return debugGraphics;
| public java.awt.Graphics | create(int x, int y, int width, int height)Overrides Graphics.create to return a DebugGraphics object.
DebugGraphics debugGraphics;
debugGraphics = new DebugGraphics();
debugGraphics.graphics = graphics.create(x, y, width, height);
debugGraphics.debugOptions = debugOptions;
debugGraphics.buffer = buffer;
debugGraphics.xOffset = xOffset + x;
debugGraphics.yOffset = yOffset + y;
return debugGraphics;
| boolean | debugBuffered()
return (debugOptions & BUFFERED_OPTION) == BUFFERED_OPTION;
| static int | debugComponentCount()Returns the number of JComponents that have debugging options turned
on.
DebugGraphicsInfo debugGraphicsInfo = info();
if (debugGraphicsInfo != null &&
debugGraphicsInfo.componentToDebug != null) {
return debugGraphicsInfo.componentToDebug.size();
} else {
return 0;
}
| boolean | debugFlash()
return (debugOptions & FLASH_OPTION) == FLASH_OPTION;
| private java.awt.Graphics | debugGraphics()Returns a DebugGraphics for use in buffering window.
DebugGraphics debugGraphics;
DebugGraphicsInfo info = info();
JFrame debugFrame;
if (info.debugFrame == null) {
info.debugFrame = new JFrame();
info.debugFrame.setSize(500, 500);
}
debugFrame = info.debugFrame;
debugFrame.show();
debugGraphics = new DebugGraphics(debugFrame.getGraphics());
debugGraphics.setFont(getFont());
debugGraphics.setColor(getColor());
debugGraphics.translate(xOffset, yOffset);
debugGraphics.setClip(getClipBounds());
if (debugFlash()) {
debugGraphics.setDebugOptions(FLASH_OPTION);
}
return debugGraphics;
| boolean | debugLog()
return (debugOptions & LOG_OPTION) == LOG_OPTION;
| public void | dispose()Overrides Graphics.dispose .
graphics.dispose();
graphics = null;
| public void | draw3DRect(int x, int y, int width, int height, boolean raised)Overrides Graphics.draw3DRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing 3D rect: " +
new Rectangle(x, y, width, height) +
" Raised bezel: " + raised);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.draw3DRect(x, y, width, height, raised);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.draw3DRect(x, y, width, height, raised);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.draw3DRect(x, y, width, height, raised);
| public void | drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)Overrides Graphics.drawArc .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing arc: " +
new Rectangle(x, y, width, height) +
" startAngle: " + startAngle +
" arcAngle: " + arcAngle);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawArc(x, y, width, height,
startAngle, arcAngle);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawArc(x, y, width, height, startAngle, arcAngle);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawArc(x, y, width, height, startAngle, arcAngle);
| public void | drawBytes(byte[] data, int offset, int length, int x, int y)Overrides Graphics.drawBytes .
DebugGraphicsInfo info = info();
Font font = graphics.getFont();
if (debugLog()) {
info().log(toShortString() +
" Drawing bytes at: " + new Point(x, y));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawBytes(data, offset, length, x, y);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor
: oldColor);
graphics.drawBytes(data, offset, length, x, y);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawBytes(data, offset, length, x, y);
| public void | drawChars(char[] data, int offset, int length, int x, int y)Overrides Graphics.drawChars .
DebugGraphicsInfo info = info();
Font font = graphics.getFont();
if (debugLog()) {
info().log(toShortString() +
" Drawing chars at " + new Point(x, y));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawChars(data, offset, length, x, y);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor
: oldColor);
graphics.drawChars(data, offset, length, x, y);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawChars(data, offset, length, x, y);
| public boolean | drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)Overrides Graphics.drawImage .
DebugGraphicsInfo info = info();
if (debugLog()) {
info.log(toShortString() +
" Drawing image: " + img +
" at: " + new Point(x, y));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawImage(img, x, y, observer);
debugGraphics.dispose();
}
} else if (debugFlash()) {
int i, count = (info.flashCount * 2) - 1;
ImageProducer oldProducer = img.getSource();
ImageProducer newProducer
= new FilteredImageSource(oldProducer,
new DebugGraphicsFilter(info.flashColor));
Image newImage
= Toolkit.getDefaultToolkit().createImage(newProducer);
DebugGraphicsObserver imageObserver
= new DebugGraphicsObserver();
for (i = 0; i < count; i++) {
graphics.drawImage((i % 2) == 0 ? newImage : img, x, y,
imageObserver);
Toolkit.getDefaultToolkit().sync();
while (!imageObserver.allBitsPresent() &&
!imageObserver.imageHasProblem()) {
sleep(10);
}
sleep(info.flashTime);
}
}
return graphics.drawImage(img, x, y, observer);
| public boolean | drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)Overrides Graphics.drawImage .
DebugGraphicsInfo info = info();
if (debugLog()) {
info.log(toShortString() +
" Drawing image: " + img +
" at: " + new Rectangle(x, y, width, height));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawImage(img, x, y, width, height, observer);
debugGraphics.dispose();
}
} else if (debugFlash()) {
int i, count = (info.flashCount * 2) - 1;
ImageProducer oldProducer = img.getSource();
ImageProducer newProducer
= new FilteredImageSource(oldProducer,
new DebugGraphicsFilter(info.flashColor));
Image newImage
= Toolkit.getDefaultToolkit().createImage(newProducer);
DebugGraphicsObserver imageObserver
= new DebugGraphicsObserver();
for (i = 0; i < count; i++) {
graphics.drawImage((i % 2) == 0 ? newImage : img, x, y,
width, height, imageObserver);
Toolkit.getDefaultToolkit().sync();
while (!imageObserver.allBitsPresent() &&
!imageObserver.imageHasProblem()) {
sleep(10);
}
sleep(info.flashTime);
}
}
return graphics.drawImage(img, x, y, width, height, observer);
| public boolean | drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)Overrides Graphics.drawImage .
DebugGraphicsInfo info = info();
if (debugLog()) {
info.log(toShortString() +
" Drawing image: " + img +
" at: " + new Point(x, y) +
", bgcolor: " + bgcolor);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawImage(img, x, y, bgcolor, observer);
debugGraphics.dispose();
}
} else if (debugFlash()) {
int i, count = (info.flashCount * 2) - 1;
ImageProducer oldProducer = img.getSource();
ImageProducer newProducer
= new FilteredImageSource(oldProducer,
new DebugGraphicsFilter(info.flashColor));
Image newImage
= Toolkit.getDefaultToolkit().createImage(newProducer);
DebugGraphicsObserver imageObserver
= new DebugGraphicsObserver();
for (i = 0; i < count; i++) {
graphics.drawImage((i % 2) == 0 ? newImage : img, x, y,
bgcolor, imageObserver);
Toolkit.getDefaultToolkit().sync();
while (!imageObserver.allBitsPresent() &&
!imageObserver.imageHasProblem()) {
sleep(10);
}
sleep(info.flashTime);
}
}
return graphics.drawImage(img, x, y, bgcolor, observer);
| public boolean | drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)Overrides Graphics.drawImage .
DebugGraphicsInfo info = info();
if (debugLog()) {
info.log(toShortString() +
" Drawing image: " + img +
" at: " + new Rectangle(x, y, width, height) +
", bgcolor: " + bgcolor);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawImage(img, x, y, width, height,
bgcolor, observer);
debugGraphics.dispose();
}
} else if (debugFlash()) {
int i, count = (info.flashCount * 2) - 1;
ImageProducer oldProducer = img.getSource();
ImageProducer newProducer
= new FilteredImageSource(oldProducer,
new DebugGraphicsFilter(info.flashColor));
Image newImage
= Toolkit.getDefaultToolkit().createImage(newProducer);
DebugGraphicsObserver imageObserver
= new DebugGraphicsObserver();
for (i = 0; i < count; i++) {
graphics.drawImage((i % 2) == 0 ? newImage : img, x, y,
width, height, bgcolor, imageObserver);
Toolkit.getDefaultToolkit().sync();
while (!imageObserver.allBitsPresent() &&
!imageObserver.imageHasProblem()) {
sleep(10);
}
sleep(info.flashTime);
}
}
return graphics.drawImage(img, x, y, width, height, bgcolor, observer);
| public boolean | drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.image.ImageObserver observer)Overrides Graphics.drawImage .
DebugGraphicsInfo info = info();
if (debugLog()) {
info.log(toShortString() +
" Drawing image: " + img +
" destination: " + new Rectangle(dx1, dy1, dx2, dy2) +
" source: " + new Rectangle(sx1, sy1, sx2, sy2));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawImage(img, dx1, dy1, dx2, dy2,
sx1, sy1, sx2, sy2, observer);
debugGraphics.dispose();
}
} else if (debugFlash()) {
int i, count = (info.flashCount * 2) - 1;
ImageProducer oldProducer = img.getSource();
ImageProducer newProducer
= new FilteredImageSource(oldProducer,
new DebugGraphicsFilter(info.flashColor));
Image newImage
= Toolkit.getDefaultToolkit().createImage(newProducer);
DebugGraphicsObserver imageObserver
= new DebugGraphicsObserver();
for (i = 0; i < count; i++) {
graphics.drawImage((i % 2) == 0 ? newImage : img,
dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
imageObserver);
Toolkit.getDefaultToolkit().sync();
while (!imageObserver.allBitsPresent() &&
!imageObserver.imageHasProblem()) {
sleep(10);
}
sleep(info.flashTime);
}
}
return graphics.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
observer);
| public boolean | drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)Overrides Graphics.drawImage .
DebugGraphicsInfo info = info();
if (debugLog()) {
info.log(toShortString() +
" Drawing image: " + img +
" destination: " + new Rectangle(dx1, dy1, dx2, dy2) +
" source: " + new Rectangle(sx1, sy1, sx2, sy2) +
", bgcolor: " + bgcolor);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawImage(img, dx1, dy1, dx2, dy2,
sx1, sy1, sx2, sy2, bgcolor, observer);
debugGraphics.dispose();
}
} else if (debugFlash()) {
int i, count = (info.flashCount * 2) - 1;
ImageProducer oldProducer = img.getSource();
ImageProducer newProducer
= new FilteredImageSource(oldProducer,
new DebugGraphicsFilter(info.flashColor));
Image newImage
= Toolkit.getDefaultToolkit().createImage(newProducer);
DebugGraphicsObserver imageObserver
= new DebugGraphicsObserver();
for (i = 0; i < count; i++) {
graphics.drawImage((i % 2) == 0 ? newImage : img,
dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
bgcolor, imageObserver);
Toolkit.getDefaultToolkit().sync();
while (!imageObserver.allBitsPresent() &&
!imageObserver.imageHasProblem()) {
sleep(10);
}
sleep(info.flashTime);
}
}
return graphics.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
bgcolor, observer);
| public void | drawLine(int x1, int y1, int x2, int y2)Overrides Graphics.drawLine .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing line: from " + pointToString(x1, y1) +
" to " + pointToString(x2, y2));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawLine(x1, y1, x2, y2);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawLine(x1, y1, x2, y2);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawLine(x1, y1, x2, y2);
| public void | drawOval(int x, int y, int width, int height)Overrides Graphics.drawOval .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing oval: " +
new Rectangle(x, y, width, height));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawOval(x, y, width, height);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawOval(x, y, width, height);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawOval(x, y, width, height);
| public void | drawPolygon(int[] xPoints, int[] yPoints, int nPoints)Overrides Graphics.drawPolygon .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing polygon: " +
" nPoints: " + nPoints +
" X's: " + xPoints +
" Y's: " + yPoints);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawPolygon(xPoints, yPoints, nPoints);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawPolygon(xPoints, yPoints, nPoints);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawPolygon(xPoints, yPoints, nPoints);
| public void | drawPolyline(int[] xPoints, int[] yPoints, int nPoints)Overrides Graphics.drawPolyline .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing polyline: " +
" nPoints: " + nPoints +
" X's: " + xPoints +
" Y's: " + yPoints);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawPolyline(xPoints, yPoints, nPoints);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawPolyline(xPoints, yPoints, nPoints);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawPolyline(xPoints, yPoints, nPoints);
| public void | drawRect(int x, int y, int width, int height)Overrides Graphics.drawRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing rect: " +
new Rectangle(x, y, width, height));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawRect(x, y, width, height);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawRect(x, y, width, height);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawRect(x, y, width, height);
| public void | drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)Overrides Graphics.drawRoundRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing round rect: " +
new Rectangle(x, y, width, height) +
" arcWidth: " + arcWidth +
" archHeight: " + arcHeight);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawRoundRect(x, y, width, height,
arcWidth, arcHeight);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.drawRoundRect(x, y, width, height,
arcWidth, arcHeight);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawRoundRect(x, y, width, height, arcWidth, arcHeight);
| public void | drawString(java.lang.String aString, int x, int y)Overrides Graphics.drawString .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing string: \"" + aString +
"\" at: " + new Point(x, y));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawString(aString, x, y);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor
: oldColor);
graphics.drawString(aString, x, y);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawString(aString, x, y);
| public void | drawString(java.text.AttributedCharacterIterator iterator, int x, int y)Overrides Graphics.drawString .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Drawing text: \"" + iterator +
"\" at: " + new Point(x, y));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.drawString(iterator, x, y);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor
: oldColor);
graphics.drawString(iterator, x, y);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.drawString(iterator, x, y);
| public void | fill3DRect(int x, int y, int width, int height, boolean raised)Overrides Graphics.fill3DRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Filling 3D rect: " +
new Rectangle(x, y, width, height) +
" Raised bezel: " + raised);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.fill3DRect(x, y, width, height, raised);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.fill3DRect(x, y, width, height, raised);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.fill3DRect(x, y, width, height, raised);
| public void | fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)Overrides Graphics.fillArc .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Filling arc: " +
new Rectangle(x, y, width, height) +
" startAngle: " + startAngle +
" arcAngle: " + arcAngle);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.fillArc(x, y, width, height,
startAngle, arcAngle);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.fillArc(x, y, width, height, startAngle, arcAngle);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.fillArc(x, y, width, height, startAngle, arcAngle);
| public void | fillOval(int x, int y, int width, int height)Overrides Graphics.fillOval .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Filling oval: " +
new Rectangle(x, y, width, height));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.fillOval(x, y, width, height);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.fillOval(x, y, width, height);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.fillOval(x, y, width, height);
| public void | fillPolygon(int[] xPoints, int[] yPoints, int nPoints)Overrides Graphics.fillPolygon .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Filling polygon: " +
" nPoints: " + nPoints +
" X's: " + xPoints +
" Y's: " + yPoints);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.fillPolygon(xPoints, yPoints, nPoints);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.fillPolygon(xPoints, yPoints, nPoints);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.fillPolygon(xPoints, yPoints, nPoints);
| public void | fillRect(int x, int y, int width, int height)Overrides Graphics.fillRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Filling rect: " +
new Rectangle(x, y, width, height));
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.fillRect(x, y, width, height);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.fillRect(x, y, width, height);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.fillRect(x, y, width, height);
| public void | fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)Overrides Graphics.fillRoundRect .
DebugGraphicsInfo info = info();
if (debugLog()) {
info().log(toShortString() +
" Filling round rect: " +
new Rectangle(x, y, width, height) +
" arcWidth: " + arcWidth +
" archHeight: " + arcHeight);
}
if (isDrawingBuffer()) {
if (debugBuffered()) {
Graphics debugGraphics = debugGraphics();
debugGraphics.fillRoundRect(x, y, width, height,
arcWidth, arcHeight);
debugGraphics.dispose();
}
} else if (debugFlash()) {
Color oldColor = getColor();
int i, count = (info.flashCount * 2) - 1;
for (i = 0; i < count; i++) {
graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
graphics.fillRoundRect(x, y, width, height,
arcWidth, arcHeight);
Toolkit.getDefaultToolkit().sync();
sleep(info.flashTime);
}
graphics.setColor(oldColor);
}
graphics.fillRoundRect(x, y, width, height, arcWidth, arcHeight);
| public static java.awt.Color | flashColor()Returns the Color used to flash drawing operations.
return info().flashColor;
| public static int | flashCount()Returns the number of times that drawing operations will flash.
return info().flashCount;
| public static int | flashTime()Returns the time delay of drawing operation flashing.
return info().flashTime;
| public java.awt.Shape | getClip()Overrides Graphics.getClip .
return graphics.getClip();
| public java.awt.Rectangle | getClipBounds()Overrides Graphics.getClipBounds .
return graphics.getClipBounds();
| public java.awt.Color | getColor()Returns the Color used for text drawing operations.
return graphics.getColor();
| public int | getDebugOptions()Returns the current debugging options for this DebugGraphics.
return debugOptions;
| static int | getDebugOptions(javax.swing.JComponent component)Static wrapper method for DebugGraphicsInfo.getDebugOptions().
DebugGraphicsInfo debugGraphicsInfo = info();
if (debugGraphicsInfo == null) {
return 0;
} else {
return debugGraphicsInfo.getDebugOptions(component);
}
| public java.awt.Font | getFont()Returns the Font used for text drawing operations.
return graphics.getFont();
| public java.awt.FontMetrics | getFontMetrics()Overrides Graphics.getFontMetrics .
return graphics.getFontMetrics();
| public java.awt.FontMetrics | getFontMetrics(java.awt.Font f)Overrides Graphics.getFontMetrics .
return graphics.getFontMetrics(f);
| static javax.swing.DebugGraphicsInfo | info()Returns DebugGraphicsInfo, or creates one if none exists.
DebugGraphicsInfo debugGraphicsInfo = (DebugGraphicsInfo)
SwingUtilities.appContextGet(debugGraphicsInfoKey);
if (debugGraphicsInfo == null) {
debugGraphicsInfo = new DebugGraphicsInfo();
SwingUtilities.appContextPut(debugGraphicsInfoKey,
debugGraphicsInfo);
}
return debugGraphicsInfo;
| public boolean | isDrawingBuffer()Returns the drawingBuffer value.
return buffer != null;
| public static java.io.PrintStream | logStream()Returns the stream to which the DebugGraphics logs drawing operations.
return info().stream;
| java.lang.String | pointToString(int x, int y)
StringBuffer buffer = new StringBuffer("(" + x + ", " + y + ")");
return buffer.toString();
| public void | setClip(int x, int y, int width, int height)Overrides Graphics.setClip .
graphics.setClip(x, y, width, height);
if (debugLog()) {
info().log(toShortString() +
" Setting new clipRect: " + graphics.getClip());
}
| public void | setClip(java.awt.Shape clip)Overrides Graphics.setClip .
graphics.setClip(clip);
if (debugLog()) {
info().log(toShortString() +
" Setting new clipRect: " + graphics.getClip());
}
| public void | setColor(java.awt.Color aColor)Sets the color to be used for drawing and filling lines and shapes.
if (debugLog()) {
info().log(toShortString() + " Setting color: " + aColor);
}
graphics.setColor(aColor);
| 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.
if (options != 0) {
if (options == NONE_OPTION) {
if (debugOptions != 0) {
System.err.println(toShortString() + " Disabling debug");
debugOptions = 0;
}
} else {
if (debugOptions != options) {
debugOptions |= options;
if (debugLog()) {
System.err.println(toShortString() + " Enabling debug");
}
}
}
}
| static void | setDebugOptions(javax.swing.JComponent component, int options)Static wrapper method for DebugGraphicsInfo.setDebugOptions(). Stores
options on a per component basis.
info().setDebugOptions(component, options);
| public static void | setFlashColor(java.awt.Color flashColor)Sets the Color used to flash drawing operations.
info().flashColor = flashColor;
| public static void | setFlashCount(int flashCount)Sets the number of times that drawing operations will flash.
info().flashCount = flashCount;
| public static void | setFlashTime(int flashTime)Sets the time delay of drawing operation flashing.
info().flashTime = flashTime;
| public void | setFont(java.awt.Font aFont)Sets the Font used for text drawing operations.
if (debugLog()) {
info().log(toShortString() + " Setting font: " + aFont);
}
graphics.setFont(aFont);
| public static void | setLogStream(java.io.PrintStream stream)Sets the stream to which the DebugGraphics logs drawing operations.
info().stream = stream;
| public void | setPaintMode()Overrides Graphics.setPaintMode .
if (debugLog()) {
info().log(toShortString() + " Setting paint mode");
}
graphics.setPaintMode();
| public void | setXORMode(java.awt.Color aColor)Overrides Graphics.setXORMode .
if (debugLog()) {
info().log(toShortString() + " Setting XOR mode: " + aColor);
}
graphics.setXORMode(aColor);
| static int | shouldComponentDebug(javax.swing.JComponent component)Returns non-zero if component should display with DebugGraphics,
zero otherwise. Walks the JComponent's parent tree to determine if
any debugging options have been set.
DebugGraphicsInfo info = info();
if (info == null) {
return 0;
} else {
Container container = (Container)component;
int debugOptions = 0;
while (container != null && (container instanceof JComponent)) {
debugOptions |= info.getDebugOptions((JComponent)container);
container = container.getParent();
}
return debugOptions;
}
| final void | sleep(int mSecs)
try {
Thread.sleep(mSecs);
} catch (Exception e) {
}
| java.lang.String | toShortString()
StringBuffer buffer = new StringBuffer("Graphics" + (isDrawingBuffer() ? "<B>" : "") + "(" + graphicsID + "-" + debugOptions + ")");
return buffer.toString();
| public void | translate(int x, int y)Overrides Graphics.translate .
if (debugLog()) {
info().log(toShortString() +
" Translating by: " + new Point(x, y));
}
xOffset += x;
yOffset += y;
graphics.translate(x, y);
|
|