JDK1.2 から java.awt.geomパッケージが追加されました。 このパッケージにはディスプレイのピクセルとは独立の座標系で取り扱うための 図形のクラスが提供されています。
java.awt.geomに定義された図形のクラスは、
従来の図形のクラスと違ってディスプレイのピクセルとは独立の座標系で
形や位置を指定することができます。
それらをまとめてみましょう。
これらはいったん各図形の共通のスーパークラスとなる抽象クラスが定義されます。
これらには Line2D や Arc2D のように名前に 2Dが付きます。
実際にオブジェクトを生成できるのは、座標系の取り扱いに使用される数値の
型に応じてさらに分類され、Point2D.Double や Point2D.Floatのように
型の名前に応じた名前が付けられるというルールになっています。
これらのクラスは基本となるクラスの内部に定義された
innerクラスであると同時に、基本のクラスのサブクラスでもあります。
| クラス名 | 定義された型 | 意味 |
|---|---|---|
| Point2D | Double,Float | 点 |
| Line2D | Double,Float | 線分 |
| CubicCurve2D | Double,Float | 曲線 |
| QuadCurve2D | Double,Float | 曲線 |
| Rectangle2D | Double,Float | 四角形 |
| Arc2D | Double,Float | 円弧 |
| RoundRectangle2D | Double,Float | 角が丸い四角形 |
| Ellipse2D | Double,Float | 楕円 |
QuadCurve2Dは両端点と曲線外の1点の計3点によって定まる曲線です。
CubicCurve2Dは両端点と曲線外の2点の計4点によって定まる曲線です。
Rectangle2D以下の4つのクラスは共通のスーパークラスとして
RectangularShapeを持ちます。
Point2Dを除く各クラスは直接もしくは間接的に Shapeを実装しています。
描画する場合には Graphic2Dクラスの
draw() もしくは fill()メソッドを用います。