イベント間の連携 ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin
Expander等)を使って解凍して下さい。
始点の保存 直線を描くには、始点と終点と言う2点の座標が必要です。
此処では、「マウスを押した」と言うイベントが発生した時に始点の座標が求まり、「マウスを離した」と言うイベントの発生で終点の座標が求められて描画します。
2つの異なるメソッド間で「始点」の座標を共有しなければなりません。 始点? 終点? Mouse2.javaではマウスが押された時が始点で、離した時が終点だったので、メソッド毎に始点と終点の処理を分けて書きました。
此処では、始点の処理と終点の処理を「マウスが押された」メソッド内に書く事になります。
此処で、処理の流れを考えてみましょう。 1回目に押された点・・・始点
2回目に押された点・・・終点
3回目に押された点・・・始点
4回目に押された点・・・終点
:
: |
上記の様に、始点の処理と終点の処理とを交互に行う事になります。
今、どっちの処理をしたのか? 次はどっちの処理をするのかをグローバル領域に覚えておく事にしましょう。
状態は2種類ですから、boolean型の変数を1つ用意します。 boolean flag = false; /*false:始点 true:終点*/ |
マウスが押され、mousePlessedメソッドが呼び出された時、「flag」が「false」で有れば、始点の処理を行い、最後に「flag」を「true」にしておきます。
「true」で有れば終点の処理を行い、最後に「flag」を「false」にしておきます。 戻る |