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

広告

RoundRectangle2D.Doubleクラスで座標や幅などの値を取得するにはメソッドを使って取得する方法とフィールドの値を参照する方法があります。まずはメソッドで取得する方法を確認します。

まず座標を取得してみます。RoundRectangle2D.Doubleクラスで用意されている「getX」メソッドと「getY」メソッドを使います。

getXメソッド:

表示枠矩形の左上隅の X 座標を double 精度で返します。 

戻り値:
  表示枠矩形の 左上隅の X 座標

getYメソッド:

表示枠矩形の左上隅の Y 座標を double 精度で返します。 

戻り値:
  表示枠矩形の 左上隅の Y 座標

「getX」メソッドは戻り値としてオブジェクトに保存されているX座標を表すdouble型の値を取得できます。「getY」メソッドは戻り値としてオブジェクトに保存されているY座標を表すdouble型の値を取得できます。

次に幅と高さを取得してみます。RoundRectangle2D.Doubleクラスで用意されている「getWidth」メソッドと「getHeight」メソッドを使います。

getWidthメソッド:

表示枠矩形の幅を double 精度で返します。 

戻り値:
  表示枠矩形の幅

getHeightメソッド:

表示枠矩形の高さを double 精度で返します。 

戻り値:
  表示枠矩形の高さ

「getWidth」メソッドは戻り値としてオブジェクトに保存されている幅を表すdouble型の値を取得できます。「getHeight」メソッドは戻り値としてオブジェクトに保存されている高を表すdouble型の値を取得できます。

最後に角の丸み度合いを表す弧の幅と弧の高さを取得してみます。RoundRectangle2D.Doubleクラスで用意されている「getArcWidth」メソッドと「getArcHeight」メソッドを使います。

getArcWidthメソッド:

角を丸める弧の幅を返します。

戻り値:
  この RoundRectangle2D の角を 丸める弧の幅

getArcHeightメソッド:

角を丸める弧の高さを返します。 

戻り値:
  この RoundRectangle2D の角を 丸める弧の高さ

「getArcWidth」メソッドは戻り値としてオブジェクトに保存されている弧の幅を表すdouble型の値を取得できます。「getArcHeight」メソッドは戻り値としてオブジェクトに保存されている弧の高を表すdouble型の値を取得できます。

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

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

double x = rec.getX();
double y = rec.getY();
double w = rec.getWidth();
double h = rec.getHeight();
double aw = rec.getArcWidth();
double ah = rec.getArcHeight();

フィールドを参照する

RoundRectangle2D.Doubleではフィールドとして「x」「y」「width」「height」「arcwidth」「archeight」と言う6つのdouble型の値を保持するフィールドを持っておりオブジェクトから直接参照することが出来ます。

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

RoundRectangle2D.Double rec
 = new RoundRectangle2D.Double(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;

サンプルプログラム

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

RoundRectangle2DTest2.java

import java.awt.geom.RoundRectangle2D;

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

    double x = rec.getX();
    double y = rec.getY();
    double w = rec.getWidth();
    double h = rec.getHeight();
    double aw = rec.getArcWidth();
    double ah = rec.getArcHeight();

    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 )