O'Reilly logo

Java 2D Graphics by Jonathan Knudsen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

3.5. Ellipses and Arcs

3.5.1. Ellipse2D

An ellipse, like a rectangle, is fully defined by a location, a width, and a height. As with the other geometry classes, java.awt.geom.Ellipse2D is abstract. A concrete inner subclass, Ellipse2D.Float, stores its coordinates as floats:

public Ellipse2D.Float(float x, float y, float w, float h)

This constructor creates an Ellipse2D.Float using the specified location, width, and height.

Another inner subclass, Ellipse2D.Double, offers a corresponding constructor:

public Ellipse2D.Double(double x, double y, double w, double h)

Note that Ellipse2D is a descendent of RectangularShape. While this may not seem very intuitive, it does mean that Ellipse2D inherits all of Rectangular-Shape's methods. As with round rectangles, an ellipse's location (x and y) is outside the outline of the ellipse.

3.5.2. Arc2D

The 2D API includes java.awt.geom.Arc2D for drawing pieces of an ellipse. Arc2D defines three different kinds of arcs, as shown in Figure 3.18. These are represented by constants in the Arc2D class:

public static final int OPEN

This constant represents an open arc. This simply defines a curved line that is a portion of an ellipse's outline.

public static final int PIE

This constant represents an arc in the shape of a slice of pie. This outline is produced by drawing the curved arc as well as straight lines from the arc's endpoints to the center of the ellipse that defines the arc.

public static final int CHORD

In this arc type, a straight ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required