Overview of the Java 2D API |
The classes in thejava.awt.geom
package define common graphics primitives, such as points, lines, curves, arcs, rectangles, and ellipses:
Except for
Point2D
andDimension2D
, each of the geometry classes ( geometries ) implements theShape
interface, which provides a common set of methods for describing and inspecting two-dimensional geometric objects.With these classes, you can create virtually any geometric shape and render it through
If you're curious, the code for this program is inGraphics2D
by calling thedraw
orfill
methods. For example, the geometric shapes in the followingShapesDemo2D
applet are defined using basic Java 2D geometries:ShapesDemo2D.java
. How to draw and fill shapes is described in detail in Displaying Graphics with Graphics2D.Rectangular Shapes
The
Rectangle2D
,RoundRectangle2D
,Arc2D
, andEllipse2D
primitives are all derived fromRectangularShape
, which defines methods forShape
objects that can be described by a rectangular bounding box--the geometry of aRectangularShape
can be extrapolated from a rectangle that completely encloses the outline of theShape
:GeneralPath
The
GeneralPath
class enables you to construct an arbitrary shape by specifying a series of positions along the shape's boundary. These positions can be connected by line segments, quadratic curves, or cubic (Bézier) curves.A quadratic curve can be defined by two endpoints and a single control point:
A cubic curve is defined by four points, two endpoints and two control points:Areas
With the
Area
class, you can perform boolean operations such as union, intersection, and subtraction on any twoShape
objects. This technique, often referred to as constructive area geometry, enables you to quickly create complexShape
objects without having to describe each line segment or curve.
Overview of the Java 2D API |