BiorhythmCanvas.paint()

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

BiorhythmCanvasクラスの唯一といっていいメソッドpaint()です。

このメソッドでガシガシ描いていけば良いんですが、可読性をあげるために

という補助メソッドをもうけてます。本質的な処理はこの四つのメソッドがやってます。

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

paint()メソッド本体がしていることは

if (offScreenGraphics == null) {
    offScreenImage = createImage(size().width, size().height);
    offScreenGraphics = offScreenImage.getGraphics();
}

でダブルバッファリングの際に用いるオフスクリーン・イメージが作成されていない場合は、まずそれを作成します。

ちょっと蛇足になりますが、ダブルバッファリングを用いているので

public void update(Graphics g) {
    paint(g);
}

update()メソッドは上書きしています。

作成したオフスクリーン・イメージを

offScreenGraphics.setColor(getBackground());
offScreenGraphics.fillRect(0, 0, size().width, size().height);

と、まず背景色で塗り潰し、

drawCurves(offScreenGraphics);
drawMarks(offScreenGraphics);
drawStrings(offScreenGraphics);
drawInstruction(offScreenGraphics);

で必要なものをオフスクリーン・イメージに描画していって、最後に

g.drawImage(offScreenImage, 0, 0, this);

でオフスクリーン・イメージを表に出して終わりです。

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

実際の仕事はdrawCurves()drawMarks()drawStrings()drawInstruction()の四つのメソッドがしているので、これらを順々に説明していきます。

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

前の項目へ次の項目へ

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