2014年3月16日日曜日

java graphics 画像の上に四角を描画

やりたいことは、

マウスのドラッグで範囲選択をするときに、どこからどこまで選択しているかわかるようにしたい。

ドラッグした範囲が四角形で表示される

ということで、以下の二つをやったのでメモ。

① 画像を表示

ローカルにある画像をBufferedImage変数に読込む。
Paintメソッドをオーバーライドし、drawImageで読込んだ画像を表示する。

② ドラッグ中の枠線を表示

まず、画像を表示するJPanel自体がマウスイベントに気づくようにする。
インスタンス自身へのイベントの登録(addMouselistenerとか)。今回はコンストラクタ内でやってます。

次に、MouseInputListenerの実装。
マウス押下、マウスドラッグ、マウス離したときの3つのイベントを実装する。
マウス押下したら、描画する枠線の原点(左上)の座標を変数に格納。
マウスドラッグしたら、枠線の終点(右下)の座標がわかるので、枠線(四角形)の幅と高さを変数に格納。格納したら再描画。
マウス離したら、ドラッグ中に描画した枠線を消す。



以下、ソースです

0 件のコメント:

コメントを投稿