Ellipse2D.DoubleクラスとEllipse2D.Floatクラス

広告

Ellipse2Dクラスは楕円を表すクラスです。左上の座標及び幅と高さを指定して長方形の領域を作成し、その長方形の領域に内接する楕円を作成します。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.geom.RectangularShape
  • java.awt.geom.Ellipse2D
  • public abstract class Ellipse2D extends RectangularShape

Ellipse2Dクラスはabstractクラスとなっていますので実際に使用する場合はサブクラスであるEllipse2D.DoubleクラスとEllipse2D.Floatクラスを利用します。

Ellipse2D.Doubleクラス

Ellipse2D.Doubleクラスは楕円を特定するための各値としてdouble型の値を使用するクラスです。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.geom.RectangularShape
  • java.awt.geom.Ellipse2D
  • java.awt.geom.Ellipse2D.Double
  • public static class Ellipse2D.Double extends Ellipse2D implements Serializable

コンストラクタは次の2つが用意されています。

コンストラクタ
Ellipse2D.Double()
新しい Ellipse2D を構築し、位置 (0, 0) およびサイズ (0, 0) に初期化します。
Ellipse2D.Double(double x, double y, double w, double h)
指定された座標から Ellipse2D を構築および初期化します。

1番目のコンストラクタは2番目のコンストラクタで座標の初期値として座標を(0, 0)、幅と高さもそれぞれ0に指定した場合と同じです。それでは2番目のコンストラクタを確認してみます。

指定された座標から Ellipse2D を構築および初期化します。 

パラメータ:
  x - 表示枠矩形の 左上隅の X 座標
  y - 表示枠矩形の 左上隅の Y 座標
  w - 表示枠矩形の幅
  h - 表示枠矩形の高さ

1番目の引数でx座標を2番目の引数でy座標をそれぞれdouble型の値で指定します。この2つが長方形の領域の左上の座標となります。そして3番目の引数で幅を4番目の引数で高さをそれぞれdouble型の値で指定します。作成される楕円はこの長方形の領域に内接する楕円となります。

具体的には次のように記述します。

Ellipse2D.Double ellipse
  = new Ellipse2D.Double(10.0d, 10.0d, 40.0d, 20.0d);

Ellipse2D.Floatクラス

Ellipse2D.Floatクラスは楕円を特定するための各値としてfloat型の値を使用するクラスです。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.geom.RectangularShape
  • java.awt.geom.Ellipse2D
  • java.awt.geom.Ellipse2D.Float
  • public static class Ellipse2D.Float extends Ellipse2D implements Serializable

コンストラクタは次の2つが用意されています。

コンストラクタ
Ellipse2D.Float()
新しい Ellipse2D を構築し、位置 (0, 0) およびサイズ (0, 0) に初期化します。
Ellipse2D.Float(float x, float y, float w, float h)
指定された座標から Ellipse2D を構築および初期化します。

1番目のコンストラクタは2番目のコンストラクタで座標の初期値として座標を(0, 0)、幅と高さもそれぞれ0に指定した場合と同じです。それでは2番目のコンストラクタを確認してみます。

指定された座標から Ellipse2D を構築および初期化します。 

パラメータ:
  x - 表示枠矩形の 左上隅の X 座標
  y - 表示枠矩形の 左上隅の Y 座標
  w - 表示枠矩形の幅
  h - 表示枠矩形の高さ

1番目の引数でx座標を2番目の引数でy座標をそれぞれfloat型の値で指定します。この2つが長方形の領域の左上の座標となります。そして3番目の引数で幅を4番目の引数で高さをそれぞれfloat型の値で指定します。作成される楕円はこの長方形の領域に内接する楕円となります。

具体的には次のように記述します。

Ellipse2D.Float ellipse
  = new Ellipse2D.Float(10.0f, 10.0f, 40.0f, 20.0f);

Ellipse2D.DoubleクラスとEllipse2D.Floatクラスは内部に保持する値がdouble型かfloat型かの違いがあるだけですので次のページ以降では基本的にEllipse2D.Doubleクラスについて内容を確認していきます。

( Written by Tatsuo Ikura )