java.awt
Class Graphics

java.lang.Object
  extended by java.awt.Graphics
Direct Known Subclasses:
DebugGraphics, Graphics2D

public abstract class Graphics
extends Object

This is the abstract superclass of classes for drawing to graphics devices such as the screen or printers.


Constructor Summary
protected Graphics()
          Default constructor for subclasses.
 
Method Summary
abstract  void clearRect(int x, int y, int width, int height)
          Clears the specified rectangle.
abstract  void clipRect(int x, int y, int width, int height)
          Sets the clipping region to the intersection of the current clipping region and the rectangle determined by the specified parameters.
abstract  void copyArea(int x, int y, int width, int height, int dx, int dy)
          Copies the specified rectangle to the specified offset location.
abstract  Graphics create()
          Returns a copy of this Graphics object.
 Graphics create(int x, int y, int width, int height)
          Returns a copy of this Graphics object.
abstract  void dispose()
          Free any resources held by this graphics context immediately instead of waiting for the object to be garbage collected and finalized.
 void draw3DRect(int x, int y, int width, int height, boolean raised)
           
abstract  void drawArc(int x, int y, int width, int height, int arcStart, int arcAngle)
          Draws an arc using the specified bounding rectangle and the specified angle parameter.
 void drawBytes(byte[] data, int offset, int length, int x, int y)
           
 void drawChars(char[] data, int offset, int length, int x, int y)
          Draws the specified characters starting at the specified point.
abstract  boolean drawImage(Image image, int x, int y, Color bgcolor, ImageObserver observer)
          Draws all of the image that is available and returns.
abstract  boolean drawImage(Image image, int x, int y, ImageObserver observer)
          Draws all of the image that is available and returns.
abstract  boolean drawImage(Image image, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
          Draws all of the image that is available and returns.
abstract  boolean drawImage(Image image, int x, int y, int width, int height, ImageObserver observer)
          Draws all of the image that is available and returns.
abstract  boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
          FIXME: Write Javadocs for this when you understand it.
abstract  boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
          FIXME: Write Javadocs for this when you understand it.
abstract  void drawLine(int x1, int y1, int x2, int y2)
          Draws a line between the two specified points.
abstract  void drawOval(int x, int y, int width, int height)
          Draws an oval that just fits within the specified rectangle.
abstract  void drawPolygon(int[] xPoints, int[] yPoints, int npoints)
          Draws a series of interconnected lines determined by the arrays of corresponding x and y coordinates.
 void drawPolygon(Polygon polygon)
          Draws the specified polygon.
abstract  void drawPolyline(int[] xPoints, int[] yPoints, int npoints)
          Draws a series of interconnected lines determined by the arrays of corresponding x and y coordinates.
 void drawRect(int x, int y, int width, int height)
          Draws the outline of the specified rectangle.
abstract  void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          Draws the outline of the specified rectangle with rounded cornders.
abstract  void drawString(AttributedCharacterIterator ci, int x, int y)
           
abstract  void drawString(String string, int x, int y)
          Draws the specified string starting at the specified point.
 void fill3DRect(int x, int y, int width, int height, boolean raised)
          Fills the specified rectangle with a 3D effect
abstract  void fillArc(int x, int y, int width, int height, int arcStart, int arcAngle)
          Fills the arc define by the specified bounding rectangle and the specified angle parameter.
abstract  void fillOval(int x, int y, int width, int height)
          Fills an oval that just fits within the specified rectangle.
abstract  void fillPolygon(int[] xPoints, int[] yPoints, int npoints)
          Fills the polygon determined by the arrays of corresponding x and y coordinates.
 void fillPolygon(Polygon polygon)
          Fills the specified polygon
abstract  void fillRect(int x, int y, int width, int height)
          Fills the area bounded by the specified rectangle.
abstract  void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          Fills the specified rectangle with rounded cornders.
 void finalize()
          Frees the resources held by this graphics context when it is garbage collected.
abstract  Shape getClip()
          Returns the current clipping region as a Shape object.
abstract  Rectangle getClipBounds()
          Returns the bounding rectangle of the clipping region for this graphics context.
 Rectangle getClipBounds(Rectangle r)
           
 Rectangle getClipRect()
          Deprecated. This method is deprecated in favor of getClipBounds().
abstract  Color getColor()
          Returns the current color for this object.
abstract  Font getFont()
          Returns the current font for this graphics context.
 FontMetrics getFontMetrics()
          Returns the font metrics for the current font.
abstract  FontMetrics getFontMetrics(Font font)
          Returns the font metrics for the specified font.
 boolean hitClip(int x, int y, int width, int height)
          Returns true if the specified rectangle intersects with the current clip, false otherwise.
abstract  void setClip(int x, int y, int width, int height)
          Sets the clipping region to the rectangle determined by the specified parameters.
abstract  void setClip(Shape clip)
          Sets the clipping region to the specified Shape.
abstract  void setColor(Color color)
          Sets the current color for this object.
abstract  void setFont(Font font)
          Sets the font for this graphics context to the specified value.
abstract  void setPaintMode()
          Sets this context into "paint" mode, where the target pixels are completely overwritten when drawn on.
abstract  void setXORMode(Color color)
          Sets this context info "XOR" mode, where the targe pixles are XOR-ed when drawn on.
 String toString()
          Returns a string representation of this object.
abstract  void translate(int x, int y)
          Translates this context so that its new origin point is the point (x, y).
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Graphics

protected Graphics()
Default constructor for subclasses.

Method Detail

create

public abstract Graphics create()
Returns a copy of this Graphics object.

Returns:
A copy of this object.

create

public Graphics create(int x,
                       int y,
                       int width,
                       int height)
Returns a copy of this Graphics object. The origin point will be translated to the point (x, y) and the cliping rectangle set to the intersection of the clipping rectangle in this object and the rectangle specified by the parameters to this method.

Parameters:
x - The new X coordinate of the clipping region rect.
y - The new Y coordinate of the clipping region rect.
width - The width of the clipping region intersect rectangle.
height - The height of the clipping region intersect rectangle.
Returns:
A copy of this object, modified as specified.

translate

public abstract void translate(int x,
                               int y)
Translates this context so that its new origin point is the point (x, y).

Parameters:
x - The new X coordinate of the origin.
y - The new Y coordinate of the origin.

getColor

public abstract Color getColor()
Returns the current color for this object.

Returns:
The color for this object.

setColor

public abstract void setColor(Color color)
Sets the current color for this object.

Parameters:
color - The new color.

setPaintMode

public abstract void setPaintMode()
Sets this context into "paint" mode, where the target pixels are completely overwritten when drawn on.


setXORMode

public abstract void setXORMode(Color color)
Sets this context info "XOR" mode, where the targe pixles are XOR-ed when drawn on.

Parameters:
color - The color to XOR against.

getFont

public abstract Font getFont()
Returns the current font for this graphics context.

Returns:
The current font.

setFont

public abstract void setFont(Font font)
Sets the font for this graphics context to the specified value.

Parameters:
font - The new font.

getFontMetrics

public FontMetrics getFontMetrics()
Returns the font metrics for the current font.

Returns:
The font metrics for the current font.

getFontMetrics

public abstract FontMetrics getFontMetrics(Font font)
Returns the font metrics for the specified font.

Parameters:
font - The font to return metrics for.
Returns:
The requested font metrics.

getClipBounds

public abstract Rectangle getClipBounds()
Returns the bounding rectangle of the clipping region for this graphics context.

Returns:
The bounding rectangle for the clipping region.

getClipRect

public Rectangle getClipRect()
Deprecated. This method is deprecated in favor of getClipBounds().

Returns the bounding rectangle of the clipping region for this graphics context.

Returns:
The bounding rectangle for the clipping region.

clipRect

public abstract void clipRect(int x,
                              int y,
                              int width,
                              int height)
Sets the clipping region to the intersection of the current clipping region and the rectangle determined by the specified parameters.

Parameters:
x - The X coordinate of the upper left corner of the intersect rect.
y - The Y coordinate of the upper left corner of the intersect rect.
width - The width of the intersect rect.
height - The height of the intersect rect.

setClip

public abstract void setClip(int x,
                             int y,
                             int width,
                             int height)
Sets the clipping region to the rectangle determined by the specified parameters.

Parameters:
x - The X coordinate of the upper left corner of the rect.
y - The Y coordinate of the upper left corner of the rect.
width - The width of the rect.
height - The height of the rect.

getClip

public abstract Shape getClip()
Returns the current clipping region as a Shape object.

Returns:
The clipping region as a Shape.

setClip

public abstract void setClip(Shape clip)
Sets the clipping region to the specified Shape.

Parameters:
clip - The new clipping region.

copyArea

public abstract void copyArea(int x,
                              int y,
                              int width,
                              int height,
                              int dx,
                              int dy)
Copies the specified rectangle to the specified offset location.

Parameters:
x - The X coordinate of the upper left corner of the copy rect.
y - The Y coordinate of the upper left corner of the copy rect.
width - The width of the copy rect.
height - The height of the copy rect.
dx - The offset from the X value to start drawing.
dy - The offset from the Y value to start drawing.

drawLine

public abstract void drawLine(int x1,
                              int y1,
                              int x2,
                              int y2)
Draws a line between the two specified points.

Parameters:
x1 - The X coordinate of the first point.
y1 - The Y coordinate of the first point.
x2 - The X coordinate of the second point.
y2 - The Y coordinate of the second point.

fillRect

public abstract void fillRect(int x,
                              int y,
                              int width,
                              int height)
Fills the area bounded by the specified rectangle.

Parameters:
x - The X coordinate of the upper left corner of the fill rect.
y - The Y coordinate of the upper left corner of the fill rect.
width - The width of the fill rect.
height - The height of the fill rect.

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
Draws the outline of the specified rectangle.

Parameters:
x - The X coordinate of the upper left corner of the draw rect.
y - The Y coordinate of the upper left corner of the draw rect.
width - The width of the draw rect.
height - The height of the draw rect.

clearRect

public abstract void clearRect(int x,
                               int y,
                               int width,
                               int height)
Clears the specified rectangle.

Parameters:
x - The X coordinate of the upper left corner of the clear rect.
y - The Y coordinate of the upper left corner of the clear rect.
width - The width of the clear rect.
height - The height of the clear rect.

drawRoundRect

public abstract void drawRoundRect(int x,
                                   int y,
                                   int width,
                                   int height,
                                   int arcWidth,
                                   int arcHeight)
Draws the outline of the specified rectangle with rounded cornders.

Parameters:
x - The X coordinate of the upper left corner of the draw rect.
y - The Y coordinate of the upper left corner of the draw rect.
width - The width of the draw rect.
height - The height of the draw rect.
arcWidth - The width of the corner arcs.
arcHeight - The height of the corner arcs.

fillRoundRect

public abstract void fillRoundRect(int x,
                                   int y,
                                   int width,
                                   int height,
                                   int arcWidth,
                                   int arcHeight)
Fills the specified rectangle with rounded cornders.

Parameters:
x - The X coordinate of the upper left corner of the fill rect.
y - The Y coordinate of the upper left corner of the fill rect.
width - The width of the fill rect.
height - The height of the fill rect.
arcWidth - The width of the corner arcs.
arcHeight - The height of the corner arcs.

draw3DRect

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

fill3DRect

public void fill3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
Fills the specified rectangle with a 3D effect

Parameters:
x - The X coordinate of the upper left corner of the fill rect.
y - The Y coordinate of the upper left corner of the fill rect.
width - The width of the fill rect.
height - The height of the fill rect.
raised - true if the rectangle appears raised, false if it should appear etched.

drawOval

public abstract void drawOval(int x,
                              int y,
                              int width,
                              int height)
Draws an oval that just fits within the specified rectangle.

Parameters:
x - The X coordinate of the upper left corner of the rect.
y - The Y coordinate of the upper left corner of the rect.
width - The width of the rect.
height - The height of the rect.

fillOval

public abstract void fillOval(int x,
                              int y,
                              int width,
                              int height)
Fills an oval that just fits within the specified rectangle.

Parameters:
x - The X coordinate of the upper left corner of the rect.
y - The Y coordinate of the upper left corner of the rect.
width - The width of the rect.
height - The height of the rect.

drawArc

public abstract void drawArc(int x,
                             int y,
                             int width,
                             int height,
                             int arcStart,
                             int arcAngle)
Draws an arc using the specified bounding rectangle and the specified angle parameter. The arc is centered at the center of the rectangle. The arc starts at the arcAngle position and extend for arcAngle degrees. The degree origin is at the 3 o'clock position.

Parameters:
x - The X coordinate of the upper left corner of the rect.
y - The Y coordinate of the upper left corner of the rect.
width - The width of the rect.
height - The height of the rect.
arcStart - The beginning angle of the arc.
arcAngle - The extent of the arc.

fillArc

public abstract void fillArc(int x,
                             int y,
                             int width,
                             int height,
                             int arcStart,
                             int arcAngle)
Fills the arc define by the specified bounding rectangle and the specified angle parameter. The arc is centered at the center of the rectangle. The arc starts at the arcAngle position and extend for arcAngle degrees. The degree origin is at the 3 o'clock position.

Parameters:
x - The X coordinate of the upper left corner of the rect.
y - The Y coordinate of the upper left corner of the rect.
width - The width of the rect.
height - The height of the rect.
arcStart - The beginning angle of the arc.
arcAngle - The extent of the arc.

drawPolyline

public abstract void drawPolyline(int[] xPoints,
                                  int[] yPoints,
                                  int npoints)
Draws a series of interconnected lines determined by the arrays of corresponding x and y coordinates.

Parameters:
xPoints - The X coordinate array.
yPoints - The Y coordinate array.
npoints - The number of points to draw.

drawPolygon

public abstract void drawPolygon(int[] xPoints,
                                 int[] yPoints,
                                 int npoints)
Draws a series of interconnected lines determined by the arrays of corresponding x and y coordinates. The figure is closed if necessary by connecting the first and last points.

Parameters:
xPoints - The X coordinate array.
yPoints - The Y coordinate array.
npoints - The number of points to draw.

drawPolygon

public void drawPolygon(Polygon polygon)
Draws the specified polygon.

Parameters:
polygon - The polygon to draw.

fillPolygon

public abstract void fillPolygon(int[] xPoints,
                                 int[] yPoints,
                                 int npoints)
Fills the polygon determined by the arrays of corresponding x and y coordinates.

Parameters:
xPoints - The X coordinate array.
yPoints - The Y coordinate array.
npoints - The number of points to draw.

fillPolygon

public void fillPolygon(Polygon polygon)
Fills the specified polygon

Parameters:
polygon - The polygon to fill.

drawString

public abstract void drawString(String string,
                                int x,
                                int y)
Draws the specified string starting at the specified point.

Parameters:
string - The string to draw.
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.

drawString

public abstract void drawString(AttributedCharacterIterator ci,
                                int x,
                                int y)

drawChars

public void drawChars(char[] data,
                      int offset,
                      int length,
                      int x,
                      int y)
Draws the specified characters starting at the specified point.

Parameters:
data - The array of characters to draw.
offset - The offset into the array to start drawing characters from.
length - The number of characters to draw.
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.

drawBytes

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

drawImage

public abstract boolean drawImage(Image image,
                                  int x,
                                  int y,
                                  ImageObserver observer)
Draws all of the image that is available and returns. If the image is not completely loaded, false is returned and the specified iamge observer is notified as more data becomes available.

Parameters:
image - The image to draw.
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.
observer - The image observer to notify as data becomes available.
Returns:
true if all the image data is available, false otherwise.

drawImage

public abstract boolean drawImage(Image image,
                                  int x,
                                  int y,
                                  int width,
                                  int height,
                                  ImageObserver observer)
Draws all of the image that is available and returns. The image is scaled to fit in the specified rectangle. If the image is not completely loaded, false is returned and the specified iamge observer is notified as more data becomes available.

Parameters:
image - The image to draw.
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.
width - The width of the rectangle to draw in.
height - The height of the rectangle to draw in.
observer - The image observer to notify as data becomes available.
Returns:
true if all the image data is available, false otherwise.

drawImage

public abstract boolean drawImage(Image image,
                                  int x,
                                  int y,
                                  Color bgcolor,
                                  ImageObserver observer)
Draws all of the image that is available and returns. If the image is not completely loaded, false is returned and the specified iamge observer is notified as more data becomes available.

Parameters:
image - The image to draw.
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.
bgcolor - The background color to use for the image.
observer - The image observer to notify as data becomes available.
Returns:
true if all the image data is available, false otherwise.

drawImage

public abstract boolean drawImage(Image image,
                                  int x,
                                  int y,
                                  int width,
                                  int height,
                                  Color bgcolor,
                                  ImageObserver observer)
Draws all of the image that is available and returns. The image is scaled to fit in the specified rectangle. If the image is not completely loaded, false is returned and the specified iamge observer is notified as more data becomes available.

Parameters:
image - The image to draw.
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.
width - The width of the rectangle to draw in.
height - The height of the rectangle to draw in.
bgcolor - The background color to use for the image.
observer - The image observer to notify as data becomes available.
Returns:
true if all the image data is available, false otherwise.

drawImage

public abstract boolean drawImage(Image image,
                                  int dx1,
                                  int dy1,
                                  int dx2,
                                  int dy2,
                                  int sx1,
                                  int sy1,
                                  int sx2,
                                  int sy2,
                                  ImageObserver observer)
FIXME: Write Javadocs for this when you understand it.


drawImage

public abstract boolean drawImage(Image image,
                                  int dx1,
                                  int dy1,
                                  int dx2,
                                  int dy2,
                                  int sx1,
                                  int sy1,
                                  int sx2,
                                  int sy2,
                                  Color bgcolor,
                                  ImageObserver observer)
FIXME: Write Javadocs for this when you understand it.


dispose

public abstract void dispose()
Free any resources held by this graphics context immediately instead of waiting for the object to be garbage collected and finalized.


finalize

public void finalize()
Frees the resources held by this graphics context when it is garbage collected.

Overrides:
finalize in class Object
See Also:
System.gc(), System.runFinalizersOnExit(boolean), java.lang.ref

toString

public String toString()
Returns a string representation of this object.

Overrides:
toString in class Object
Returns:
A string representation of this object.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)

hitClip

public boolean hitClip(int x,
                       int y,
                       int width,
                       int height)
Returns true if the specified rectangle intersects with the current clip, false otherwise.

Parameters:
x - the X coordinate of the upper left corner of the test rectangle
y - the Y coordinate of the upper left corner of the test rectangle
width - the width of the upper left corner of the test rectangle
height - the height of the upper left corner of the test rectangle
Returns:
true if the specified rectangle intersects with the current clip, false otherwise

getClipBounds

public Rectangle getClipBounds(Rectangle r)