BiorhythmCanvasのアクセスメソッド

------------------------------------

BiorhythmCanvasのアクセスメソッドを見ていきます。

BiorhythmCanvasを設計するときに属性を指定できるようにしたので、それを実現するためのメソッドです。

------------------------------------

まずは色を設定するメソッドです。

public void setPhysicalColor(Color physicalColor) {
    this.physicalColor = physicalColor;
}

のように単にインスタンス変数に値をセットします。同様のメソッドが

になります。ただsetBackgroundColor()だけは

public void setBackgroundColor(Color backgroundColor) {
    this.backgroundColor = backgroundColor;
    setBackground(backgroundColor);
}

setBackground(backgroundColor)で実際にバックグランド色を変えています。

------------------------------------

次にイメージをセットするメソッドです。

public void setPhysicalImage(Image physicalImage) {
    this.physicalImage = physicalImage;
    if (physicalImage != null) {
        physicalImageDimension = getImageDimension(physicalImage);
    }
}

まず

this.physicalImage = physicalImage;

でインスタンス変数の値をセットし、続いて

physicalImageDimension = getImageDimension(physicalImage);

でイメージの大きさを取得しています。

setSensitivityImage()setIntellectualImage()も同様です。

------------------------------------

イメージの大きさを取得するメソッドが

Dimension getImageDimension(Image im) {
    int width;
    int height;

    while ((width = im.getWidth(this)) < 0) {
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
        }
    }

    while ((height = im.getHeight(this)) < 0) {
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
        }
    }

    return new Dimension(width, height);
}

です。一歩先行くインターネット Java(TM)入門の184ページにあったのをそのままパクリました。ということで、詳しい説明はその本を読んで下さい。

簡単に説明するとイメージが読み込み終わるまでループを回して、正しいサイズを取得しています。

------------------------------------

前の項目へ次の項目へ

「メイキング・オブ・バイオリズム」のページへ