Java Step_9 イベント |
イベントの種類 |
イベントソース | アクション | イベント |
ラベル | フォーカスをほかのGUIコンポーネントに移す | FocusEvent |
ラベルをクリックする | ActionEvent | |
マウスで操作する | MouseEvent | |
ボタン | フォーカスをほかのGUIコンポーネントに移す | FocusEvent |
ボタンをクリックする | ActionEvent | |
マウスで操作する | MouseEvent | |
テキストフィールド | Enterキーを押す | ActionEvent |
フォーカスをほかのGUIコンポーネントに移す | FocusEvent | |
インプメソッドでテキスト入力する | InputMethodEvent | |
キーボードから入力する | KeyEvent | |
マウスで操作する | MouseEvent | |
テキストを変更する | TextEvent | |
テキストエリア | フォーカスをほかのGUIコンポーネントに移す | FocusEvent |
インプメソッドでテキスト入力する | InputMethodEvent | |
キーボードから入力する | KeyEvent | |
マウスで操作する | MouseEvent | |
テキストを変更する | TextEvent |
イベントリスナー |
イベント | イベントリスナー |
ActionEvent | ActionListener |
FocusEvent | FocusListener |
InutMethodEvent | InutMethodListener |
KeyEven | KeyEventListener |
MouseEvent | MouseListener MouseMotionListener |
TextEven | TextListener |
インターフェース |
<インタフェース定義> interface インターフェース名 { 定数宣言; 抽象メソッド宣言; } <インターフェース定義の例> interface InterA { int INTERA_X = 200;//必ず初期化する void intera_meth(int a);//処理本体がない } <クラス定義時にインターフェースを実装> class クラス名 implements インターフェース名,インターフェース名,.. { 抽象メソッド名 処理定義 { } <インターフェース実装の例> class クラス名 implements InterA{ public void intera_meth(int a){ ...........;//抽象メソッドの処理本体を定義 } ...........; } |
//ボタンを押してDOSプロンプトにボタンを表示する import javax.swing.*; import java.awt.*; import java.awt.event.*;//イベント関連クラスのパッケージ class ButtonEvent1{ public static void main(String args[]){ //JFrameのインスタンスを生成しJFrameクラス型の変数 f に代入 JFrame f = new JFrame("ButtonEvent1");// //ウィンドウをクローズしたら終了する f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); //フレームのコンテナ(GUIコンポーネントを配置するオブジェクト)を得る Container c = f.getContentPane(); //JButtonのインスタンスを生成 JButton b = new JButton("Click"); //自作のイベントリスナー「クラス」myListener1のコンストラクタで //インスタンスを作成している。(インスタンス=クラス名と同名のメソッド) myListener1 m1 = new myListener1(); //JButtonクラスのメソッド //引数のActionListenerインスタンスm1をボタンbに登録 b.addActionListener(m1); c.add(b); f.pack(); f.setVisible(true); } } //ActionListenerインターフェースのイベント処理メソッドの本体 class myListener1 implements ActionListener{ public void actionPerformed(ActionEvent ae){ System.out.println("ボタンがクリックされました"); } } |
|
//押されたボタンを判別する import javax.swing.*; import java.awt.*; import java.awt.event.*;//イベント関連クラスのパッケージ class ButtonEvent2{ public static void main(String args[]){ //JFrameのインスタンスを生成しJFrameクラス型の変数 f に代入 JFrame f = new JFrame("ButtonEvent2");// //ウィンドウをクローズしたら終了する f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); //フレームのコンテナ(GUIコンポーネントを配置するオブジェクト)を得る Container c = f.getContentPane(); //JButtonのインスタンスを生成(複数ボタンを作る) JButton ba = new JButton("ボタンA"); JButton bb = new JButton("ボタンB"); //自作のイベントリスナー「クラス」myListener1のコンストラクタで //インスタンスを作成している。(インスタンス=クラス名と同名のメソッド) myListener2 m1 = new myListener2(); //それぞれのボタンに同じイベントリスナーを登録する //ボタンA にイベントリスナーを登録 ba.addActionListener(m1); //ボタンB にイベントリスナーを登録 bb.addActionListener(m1); c.add(ba,BorderLayout.WEST); c.add(bb,BorderLayout.EAST); f.pack(); f.setVisible(true); } } //ActionListenerインターフェースのイベント処理メソッドの本体 class myListener2 implements ActionListener{ public void actionPerformed(ActionEvent ae){ //ae ←ActionEventオブジェクトが入っている // String bname = ae.getActionCommand(); System.out.println(bname + "がクリックされました"); } } |