リスナーでイベント処理Advertisementイベント
「ボタンを押す」「クリックした」などの、ユーザが行う任意の操作をイベントと呼び、イベントに対する処理を記述することができる。
そのためにリスナーを使う。イベントの種類によって使うリスナーが違う違う(リンク先:java.sun.com) リスナー実装の手順。
まずイベント処理のためのパッケージjava.awt.eventをインポート。
import java.awt.event.*; 次。リスナーはインタフェースだから、使いたいリスナー実装。
//リスナーを複数実装する場合はカンマで区切る。
class クラス名 implements KeyListener, MouseListener
そしてコンポーネント(ボタンとかフレームとか)にリスナー登録。登録方法はコンポーネントによって違うけど、ほぼ一緒。リスナーのインタフェースで定義されているメソッドは使わない場合もすべてのメソッド記述しなければならない。 実験
とりあえず、前回のボタンを使えるようにしてみる。
![]() ボタンを押したらプログラムが終了する。 import java.awt.*; import java.awt.event.*; public class WindowTest{ public static void main(String args[]){ mainFrame f = new mainFrame(); f.setSize(200, 100); f.setTitle("タイトル"); f.show(); } } //リスナー実装 class mainFrame extends Frame implements ActionListener{ Button btn1, btn2, btn3; public mainFrame(){ setLayout(new FlowLayout()); btn1 = new Button("テスト"); btn2 = new Button("てすと"); btn3 = new Button("Test"); add(btn1); add(btn2); add(btn3); //リスナー登録 btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); } //ActionEvent発生時の処理記述。 public void actionPerformed(ActionEvent e){ System.exit(1); } }ボタンによって処理を振り分けたい場合は以下のように記述。
public void actionPerformed(ActionEvent e){
if(e.getSource() == btn1){
btn1が押されたときの処理;
}else if(e.getSource() == btn2){
btn2が押されたときの処理;
}else if(e.getSource() == btn3){
btn3が押されたときの処理;
}
}
Advertisement |
ショートカット・634・このカテゴリのトップページに戻る ・634labs UIコレクションギャラリー サイト検索Y!ログール |