MouseEvent クラス
- [内容]
- 以下に示すようなマウスの動きによって発生するイベントを扱います.
- ( MouseEvent )
- ボタンを押す
- ボタンを離す
- ボタンをクリック
- マウスがコンポーネントの領域に入る
- マウスがコンポーネントの領域から出る
- ( MouseMotionEvent )
- マウスの移動
- マウスのドラッグ
- [主な変数]
- public static final int ALT_GRAPH_MASK ( InputEvent から継承)
- 「 alt-graph 」キーが押されていることを示すマスク
- public static final int ALT_MASK ( InputEvent から継承)
- 「 alt 」キーが押されていることを示すマスク
- public static final int BUTTON1_MASK ( InputEvent から継承)
- マウスのボタン 1 (左ボタン)が押されていることを示すマスク
- public static final int BUTTON2_MASK ( InputEvent から継承)
- マウスのボタン 2 が押されていることを示すマスク
- public static final int BUTTON3_MASK ( InputEvent から継承)
- マウスのボタン 3 (右ボタン)が押されていることを示すマスク
- public static final int CTRL_MASK ( InputEvent から継承)
- 「 ctrl 」キーが押されていることを示すマスク
- public static final int META_MASK ( InputEvent から継承)
- 「 meta 」キーが押されていることを示すマスク
- public static final int SHIFT_MASK ( InputEvent から継承)
- 「 shift 」キーが押されていることを示すマスク
- [主なメソッド]
- public int getClickCount()
- クリックした回数を返す
- public int getModifiers() ( InputEvent から継承)
- マウス操作の修飾子を返す.マウスのどのボタンが押されたのかを調べるために使用される.
- public Point getPoint()
- マウスの位置を返す(参照: Point クラス)
- public Object getSource() ( EventObject から継承)
- イベントを発生させたオブジェクトを返す
- public int getX()
- マウス位置の x 座標を返す
- public int getY()
- マウス位置の y 座標を返す
- public void translatePoint(int x, int y)
- 現在のマウス座標を水平方向に x,垂直方向に y だけ移動する
- [使用例]
- プログラム例は,マウスのイベント処理の例です.上部のテキストエリアに MouseListener と MouseMotionListener が貼り付けてあり,MouseEvent が発生すると上のテキストエリアに,また,MouseMotionEvent が発生すると下のテキストエリアにメッセージが表示されます.ただし,マウスボタンを押したり離したりしたときのイベントは,右ボタンに対してだけ処理しています.また,マウスの移動やドラッグに対するイベントは,「 SHIFT 」キーを同時に押したときだけ処理しています.ここをクリックするとアプレット版が表示されます(プログラム).

- プログラム例は,上と同じようにマウスによるイベント処理を行うものですが,MouseAdapter を用いてイベント処理を行っています.ここをクリックするとアプレット版が表示されます(プログラム).

- プログラム例は,ダイアログの一例です.テキストエリアに文字を入力して範囲を選択した後,テキストアリアの下側でマウスの右ボタンをクリックすると,カット&ペーストを行うためのダイアログ(小さな Window )が現れ,テキストエリア内の文字に対してカット&ペーストを実行できます.ここをクリックするとアプレット版が表示されます(プログラム).ただし,ダイアログは,フレームまたはもう 1 つのダイアログをその所有者として定義しなければなりませんので,アプレットから新しい Window を生成し,それをスクリーン中央に表示しています.また,Window を閉じる方法がアプリケーションの場合と異なっています.なお,アプレット自身の大きさは 0 にしてあるため表示されません.

- プログラム例は,メニューバー関連クラス( MenuBar クラス,Menu クラス,MenuItem クラス,CheckboxMenuItem クラス)の各メソッド等の使用例です.メニューバーのメニューという項目をクリックすると,下図に示すようなメニューが出現します.最初の 2 つのメニューをクリックすると,テキストエリアにメッセージが表示されます.また,この 2 つのメニューには,キーボードショートカットが割り付けてあります.3 番目の項目は,CheckboxMenuItem です.クリックすることにより,チェックを付けたり消したりすることができます.4 番目の項目は,サブメニューを持っており,テキストエリアの内容に対して,カット&ペーストを行うことができます.また,最後の項目をクリックすると Window が閉じられます.ここをクリックするとアプレット版が表示されます(プログラム).ただし,アプレットには,メニューバーを表示できないため,アプレットから新しい Window を生成し,それをスクリーン中央に表示しています.また,Window を閉じる方法がアプリケーションの場合と異なっています.なお,アプレット自身の大きさは 0 にしてあるため表示されません.

- プログラム例は,PopupMenu クラスの各メソッド等の使用例です.テキストエリア内でマウスの右ボタンをクリックすると,ポップアップメニューが出現し,テキストエリア内のデータに対してカット&ペーストを実行することができます.ここをクリックするとアプレット版が表示されます(プログラム).なお,テキストエリアの表示結果の違いは,アプリケーションの場合( Frame クラスを使用し,そのデフォルトレイアウトは BorderLayout )とアプレット版( Applet クラスのデフォルトレイアウトは FlowLayout )とのレイアウトマネージャの違いによるものです.

- [参照]
- MouseListener, Button, JButton, MouseMotionListener, Dialog, MenuBar, PopupMenu