java.awt

Class Graphics

Known Direct Subclasses:
DebugGraphics, Graphics2D, JavaPrinterGraphics

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

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(data[] , int offset, int length, int x, int y)
Draws the specified characters starting at the specified point.
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 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 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 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.
void
drawPolygon(Polygon polygon)
Draws the specified polygon.
abstract void
drawPolygon(xPoints[] , yPoints[] , int npoints)
Draws a series of interconnected lines determined by the arrays of corresponding x and y coordinates.
abstract void
drawPolyline(xPoints[] , 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(String string, int x, int y)
Draws the specified string starting at the specified point.
abstract void
drawString(AttributedCharacterIterator ci, int x, int y)
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.
void
fillPolygon(Polygon polygon)
Fills the specified polygon
abstract void
fillPolygon(xPoints[] , yPoints[] , int npoints)
Fills the polygon determined by the arrays of corresponding x and y coordinates.
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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

Graphics

protected Graphics()
Default constructor for subclasses.

Method Details

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.

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.

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.

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.

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.

draw3DRect

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

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.

drawBytes

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

drawChars

public void drawChars(data[] ,
                      int offset,
                      int length,
                      int x,
                      int y)
Draws the specified characters starting at the specified point.
Parameters:
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.

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.

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 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 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,
                                  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.

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.

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.

drawPolygon

public void drawPolygon(Polygon polygon)
Draws the specified polygon.
Parameters:
polygon - The polygon to draw.

drawPolygon

public abstract void drawPolygon(xPoints[] ,
                                 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:
npoints - The number of points to draw.

drawPolyline

public abstract void drawPolyline(xPoints[] ,
                                  yPoints[] ,
                                  int npoints)
Draws a series of interconnected lines determined by the arrays of corresponding x and y coordinates.
Parameters:
npoints - The number of points to draw.

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.

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.

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)

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.

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.

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.

fillPolygon

public void fillPolygon(Polygon polygon)
Fills the specified polygon
Parameters:
polygon - The polygon to fill.

fillPolygon

public abstract void fillPolygon(xPoints[] ,
                                 yPoints[] ,
                                 int npoints)
Fills the polygon determined by the arrays of corresponding x and y coordinates.
Parameters:
npoints - The number of points to draw.

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.

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.

finalize

public void finalize()
Frees the resources held by this graphics context when it is garbage collected.
Overrides:
finalize in interface Object

getClip

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

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.

getClipBounds

public Rectangle getClipBounds(Rectangle r)

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.

getColor

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

getFont

public abstract Font getFont()
Returns the current font for this graphics context.
Returns:
The current 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.

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

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.

setClip

public abstract void setClip(Shape clip)
Sets the clipping region to the specified Shape.
Parameters:
clip - The new clipping region.

setColor

public abstract void setColor(Color color)
Sets the current color for this object.
Parameters:
color - The new color.

setFont

public abstract void setFont(Font font)
Sets the font for this graphics context to the specified value.
Parameters:
font - The new font.

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.

toString

public String toString()
Returns a string representation of this object.
Overrides:
toString in interface Object
Returns:
A string representation of this object.

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.

Graphics.java -- Abstract Java drawing class Copyright (C) 1999, 2000, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.