- クラス「TestMouse」の作成
-
↓のソースを記述して「Test」フォルダに「TestMouse.java」というファイル名で保存。
01 : import java.awt.Frame;1行目〜3行目はインポート文。
02 : import java.awt.event.MouseEvent;
03 : import java.awt.event.MouseAdapter;
04 :
05 : public class TestMouse{
06 : public static void main(String[] args){
07 : Frame f1 = new Frame("Java");
08 : f1.setBounds(0,0,200,200);
09 : f1.setVisible(true);
10 :
11 : TestMouseListener ma1 = new TestMouseListener();
12 : f1.addMouseListener(ma1);
13 : }
14 : }
15 :
16 : class TestMouseListener extends MouseAdapter{
17 : public void mouseClicked(MouseEvent e){
18 : System.out.println("マウスが"+e.getClickCount()+"回クリックされました。位置;"+e.getPoint());
19 : }
20 :
21 : public void mouseEntered(MouseEvent e){
22 : System.out.println("マウスがフレームに入りました。");
23 : }
24 : }
5行目〜14行目はイベントソース(クラス「TestMouse」)。
8行目〜9行目でフレームを表示しています。
11行目はイベントリスナ(クラス「TestMouseListener」)のインスタンスを作成しています。
12行目はイベントソースにイベントリスナを登録しています。
16行目〜24行目はイベントリスナ(クラス「TestMouseListener」)を作成。 16行目の「extends MouseAdapter」はMouseAdapterクラスのサブクラスとして定義しています。(サブクラスについてはまだ勉強していないのであまりよくわかりません。)
17行目〜19行目はメソッド「mouseClicked」を使ってコンポーネント上でマウスがクリックされたときの処理を定義しています。
また、メソッド「getClickCount()」はクリックされた回数、メソッド「getPoint()」はイベントが発生した位置の情報を取得しています。
21行目〜23行目はメソッド「mouseEntered」を使ってコンポーネント上にマウスが入ったときの処理を定義しています。
- コンパイル→実行
-
コマンドプロントを開いて「TestMouse.java」をコンパイルして実行
コマンドプロントの画面は↓のようになりました。C;¥Document and setting¥〜>cd ¥Test実行すると「Java」という文字を持ったフレームが表示され、マウスをフレーム内に入れるとコマンドプロントに文字列「マウスがフレームに入りました。」が表示されました。さらに、フレーム内でマウスをクリックするとクリックした位置と回数がコマンドプロントに表示されました。
C;¥Test>javac TestMouse.java
C;¥Test>java TestMouse
マウスがフレームに入りました。
マウスが1回クリックされました。位置;java.awt.Point[x=113,y=63]
マウスが2回クリックされました。位置;java.awt.Point[x=113,y=63]
【マウスイベントの処理】の復習
マウスイベントの処理 の復習です。
コメントを書く