トップページ > Java3D入門 > Javaのマウス入力(2)
前ページで紹介した3つのインターフェースを,とりあえず全て実装したクラスを 作ってみます。メソッドの中では,呼ばれたメソッド自身の名前をコマンドプロンプト上に表示させるだけです。 これで,どのタイミングでどのメソッドが呼び出されるのかを確認できます。
//****************************************************************************** //マウス入力のためのクラス“mouse_input” //MouseListenerとMouseMotionLisenerとMouseWheelListenerを実装 // //以下のメソッドを実装する必要があります。(使わなくても必要) // //moseClicked():マウスがクリックされた時に呼ばれる //mouseEntered():マウスカーソルが画面内に入った時に呼ばれる。 //mouseExited():マウスカーソルが画面外へ出た時に呼ばれる。 //mousePressed():マウスのボタンが押された時に呼ばれる。 //mouseReleased():マウスのボタンが離された時に呼ばれる。 //(※PressedとReleasedが1ペアでClickedが呼ばれます) // //mouseDragged():マウスがドラッグされた時に呼ばれる。 //mouseMoved():マウスが画面内で動いた時に呼ばれる。 // //mouseWheelDragged():ホイールが動いた時に呼ばれる。 // //登録の際は,“addMouseListener()”と“addMouseMotionListener()”と //“addMouseWheelListener()”メソッドを使う。 //****************************************************************************** //インポート import java.awt.*; import java.awt.event.*; class mouse_input implements MouseListener,MouseMotionListener,MouseWheelListener { //============================================================================= //マウスがクリックされた時に呼ばれるメソッド //============================================================================= public void mouseClicked(MouseEvent event) { System.out.println("mouseClicked."); } //============================================================================= //マウスが画面内に入った時に呼ばれるメソッド //============================================================================= public void mouseEntered(MouseEvent e) { System.out.println("mouseEntered"); } //============================================================================= //マウスが画面外に出た時に呼ばれるメソッド //============================================================================= public void mouseExited(MouseEvent e) { System.out.println("mouseExited"); } //============================================================================= //マウスのボタンが押された時に呼ばれるメソッド //============================================================================= public void mousePressed(MouseEvent event) { System.out.println("mousePressed."); } //============================================================================= //マウスのボタンが離された時に呼ばれるメソッド //============================================================================= public void mouseReleased(MouseEvent event) { System.out.println("mouseRelease."); } //============================================================================= //マウスがドラッグされた時に呼ばれるメソッド //============================================================================= public void mouseDragged(MouseEvent event) { System.out.println("mouseDragged."); } //============================================================================= //マウスが動かされた時に呼ばれるメソッド //============================================================================= public void mouseMoved(MouseEvent event) { System.out.println("mouseMoved."); } //============================================================================= //マウスのホイールが回転した時に呼ばれるメソッド //============================================================================= public void mouseWheelMoved(MouseWheelEvent event) { System.out.println("mouseWheelMoved"); } } //****************************************************************************** //mouse_inputクラスここまで //******************************************************************************
ただのフレームだけ表示させて,そこへマウス・リスナを登録します。 コマンドプロンプトで,各動作を確認します。
//****************************************************************************** //“mouse_test.java” //マウス入力クラスのための,テストプログラム //コマンドプロンプト上に呼ばれたメソッド名を表示。 //****************************************************************************** //============================================================================== //インポート・ファイル import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; //============================================================================== //メイン・クラス public class mouse_test { //============================================================================= //メイン・メソッド public static void main(String[] args) { mouse_test test = new mouse_test(); } //============================================================================= //コンストラクタ public mouse_test() { //============================================================================ //何もないフレームだけ作成 //============================================================================ //メイン・ウィンドウ作成 JFrame frame = new JFrame(); //ウィンドウのサイズ設定 frame.setSize(250,250); //ウィンドウのタイトル設定 frame.setTitle("マウス入力テスト"); //ウィンドウを閉じる動作の登録 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //============================================================================ //マウス入力クラスを生成,フレームに登録 //============================================================================ mouse_input mouse = new mouse_input(); frame.addMouseListener(mouse); frame.addMouseMotionListener(mouse); frame.addMouseWheelListener(mouse); //ウィンドウを可視化 frame.setVisible(true); } } //ソースコードここまで。 //******************************************************************************
表示されるフレームの中でカーソルを動かすと,その動きに対応してコマンドプロンプト上にいろいろ文字が出ます。