6-3: java.awt.geomと図形のクラス

JDK1.2 から java.awt.geomパッケージが追加されました。 このパッケージにはディスプレイのピクセルとは独立の座標系で取り扱うための 図形のクラスが提供されています。


・ java.awt.geomに定義された図形のクラスは、 従来の図形のクラスと違ってディスプレイのピクセルとは独立の座標系で 形や位置を指定することができます。 それらをまとめてみましょう。 これらはいったん各図形の共通のスーパークラスとなる抽象クラスが定義されます。 これらには Line2D や Arc2D のように名前に 2Dが付きます。 実際にオブジェクトを生成できるのは、座標系の取り扱いに使用される数値の 型に応じてさらに分類され、Point2D.Double や Point2D.Floatのように 型の名前に応じた名前が付けられるというルールになっています。 これらのクラスは基本となるクラスの内部に定義された innerクラスであると同時に、基本のクラスのサブクラスでもあります。

java.awt.geomの図形のクラス
クラス名定義された型意味
Point2DDouble,Float
Line2DDouble,Float線分
CubicCurve2DDouble,Float曲線
QuadCurve2DDouble,Float曲線
Rectangle2DDouble,Float四角形
Arc2DDouble,Float円弧
RoundRectangle2DDouble,Float角が丸い四角形
Ellipse2DDouble,Float楕円

QuadCurve2Dは両端点と曲線外の1点の計3点によって定まる曲線です。 CubicCurve2Dは両端点と曲線外の2点の計4点によって定まる曲線です。
Rectangle2D以下の4つのクラスは共通のスーパークラスとして RectangularShapeを持ちます。
Point2Dを除く各クラスは直接もしくは間接的に Shapeを実装しています。 描画する場合には Graphic2Dクラスの draw() もしくは fill()メソッドを用います。