座標、幅、高さ、角の丸み度合いを設定する

広告

RoundRectangle2D.Doubleクラスで座標や幅と高さ、そして角の丸み度合いの値を設定するにはコンストラクタで指定する以外にオブジェクトを作成した後でメソッドを使って設定することが出来ます。RoundRectangle2D.Doubleクラスで用意されている「setRoundRect」メソッドを使います。

この RoundRectangle2D の位置、サイズ、および角の半径を、指定された
double 値に設定します。

パラメータ:
  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();
rec.setRoundRect(10.0d, 10.0d, 20.0d, 12.0d, 1.0d, 1.0d);

サンプルプログラム

簡単なサンプルを一度試してみます。

RoundRectangle2DTest1.java

import java.awt.geom.RoundRectangle2D;

class RoundRectangle2DTest1{
  public static void main(String args[]){
    RoundRectangle2D.Double rec = new RoundRectangle2D.Double();
    rec.setRoundRect(10.0d, 10.0d, 20.0d, 12.0d, 1.0d, 1.0d);

    double x = rec.x;
    double y = rec.y;
    double w = rec.width;
    double h = rec.height;
    double aw = rec.arcwidth;
    double ah = rec.archeight;

    System.out.println("(x, y)=(" + x + "," + y + ")");
    System.out.println("(w, h)=(" + w + "," + h + ")");
    System.out.println("(arcw, arch)=(" + aw + "," + ah + ")");
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

座標や幅などを設定する

( Written by Tatsuo Ikura )