目次> 第17章> 17.4 TOPUPPREVNEXT

17.4 Runnable の例(その1)

円を描き点滅させてみましょう。

Twinkle-1.gif

ソースプログラム Twinkle.java

以下は おまけ です。 マルチスレッドに関連する部分は変更ありません。 マルチスレッドの様子を体感できるように、いろいろ飾りをつけてみました。

ボタンをクリックすると、ファイルチューザで円の色を選択できるようにしましょう。

Twinkle1-1.gif  Twinkle1-2.gif

ソースプログラム Twinkle1.java

Twinkle.java からの変更点(赤字部分)

ウィンドウの大きさが変わっても、円が中心付近に表示されるようにしましょう。 円の大きさも調節しましょう。

Twinkle3-1.gif  半径 r = ( 横と縦の平均 ) の 四分の一
    = ( w + h )/ 2 × (1/4)
    = ( w + h )/ 8
x = (w/2) - r
y = (h/2) -r

ソースプログラム Twinkle2.java

Twinkle1.java からの変更点(赤字部分)

Twinkle3-2.gif  Twinkle3-3.gif  Twinkle3-4.gif 

ボタンを追加し、点滅を止められるようにしましょう。

ソースプログラム Twinkle3.java

Twinkle2.java からの変更点(赤字部分)

同じものを何個か並べてみましょう。

同じものを並べるのですが、色の選択と停止は個々に独立にしたいと思います。 したがって、関連する変数を、インスタンス変数に変更します(6〜9行目)。 これらの変数の設定を簡単にするために main からコンストラクタ内に移動します。
コマンドラインのパラメタから、何個ならべるかを取得します。

ソースプログラム Twinkle4.java

Twinkle3.java からの変更点

main からコンストラクタへ移動しただけの部分 ... 行番号が緑色
変更している部分 ... 行番号が赤色

更新日:2004-11-08 TOPUPPREVNEXT