RoundRectangle2D.DoubleクラスとRoundRectangle2D.Floatクラス

広告

RoundRectangle2Dクラスは角が丸い長方形を表すクラスです。

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

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

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

RoundRectangle2D.Doubleクラス

RoundRectangle2D.Doubleクラスは座標や幅と高さの値としてdouble型の値を使用するクラスです。

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

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

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

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

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

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

パラメータ:
  x - 新しく構築される RoundRectangle2D の X 座標
  y - 新しく構築される RoundRectangle2D の Y 座標
  w - 新しく構築される RoundRectangle2D に 設定される幅
  h - 新しく構築される RoundRectangle2D に 設定される高さ
  arcw - 新しく構築された RoundRectangle2D の 角を丸めるのに使う弧の幅
  arch - 新しく構築された RoundRectangle2D の 角を丸めるのに使う弧の高さ

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

RoundRectangle2Dは角が丸い長方形となっています。角がどの程度丸くするのかを5番目と6番目の引数で指定します。1つ1つの角に対して5番目の引数で指定した幅と6番目の引数で指定した高さの分だけ角を丸くします。

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

RoundRectangle2D.Double rec
  = new RoundRectangle2D.Double(10.0d, 10.0d, 20.0d, 12.0d, 1.0d, 1.0d);

RoundRectangle2D.Floatクラス

RoundRectangle2D.Floatクラスは座標や幅と高さの値としてfloat型の値を使用するクラスです。

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

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

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

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

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

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

パラメータ:
  x - 新しく構築される RoundRectangle2D の X 座標
  y - 新しく構築される RoundRectangle2D の Y 座標
  w - 新しく構築される RoundRectangle2D に 設定される幅
  h - 新しく構築される RoundRectangle2D に 設定される高さ
  arcw - 新しく構築された RoundRectangle2D の 角を丸めるのに使う弧の幅
  arch - 新しく構築された RoundRectangle2D の 角を丸めるのに使う弧の高さ

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

RoundRectangle2Dは角が丸い長方形となっています。角がどの程度丸くするのかを5番目と6番目の引数で指定します。1つ1つの角に対して5番目の引数で指定した幅と6番目の引数で指定した高さの分だけ角を丸くします。

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

RoundRectangle2D.Float rec
  = new RoundRectangle2D.Float(10.0f, 10.0f, 20.0f, 12.0f, 1.0f, 1.0f);

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

( Written by Tatsuo Ikura )