I.基本概念
1.イベントは、プログラムとユーザー間の相互作用は、テキストボックスに、たとえば、リストボックスまたはコンボボックスを選択し、チェックボックスやラジオボタンを選択し、ボタンなどをクリックしたことを示します。
イベント処理中に2は、主にオブジェクトの三種類に関連します。
•イベント(イベントが):一つの動作コンポーネントのユーザーはクラスの形式で、イベントと呼ばれます。例えば、キーボードに対応するイベント・タイプは、のKeyEventあります。
•イベントソース(イベントソース):なボタンボタンのような場所イベント、通常は個々のコンポーネント、。
•イベントハンドラ(イベントハンドラ):処理するイベント・オブジェクトとそのオブジェクトのイベントプロセッサを受け取り、通常のJavaクラスのメソッドのメンバーですが、イベントを処理するための責任があります。
3.それらは特定の種類のイベントを処理できる場合、イベント・ハンドラ(リスナー)が一般クラスであり、インタフェースのイベントタイプは反対を実装する必要があります。それはイベントのActionListenerとのActionEventに対応するインタフェースを実装しているため、例えば、クラスは、ButtonHandlerのActionEventイベントを処理することができました。各イベントは、対応するインターフェイスを持つクラスを持っています。
コード
package cn.edu.hbue.wmp;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
//1.implements继承接口抽象类
public class JFrameDemo07 extends JFrame implements ActionListener{
JLabel j;
JButton btn1;
JButton btn2;
JButton btn3;
JButton btn4;
JTextField jf;
public JFrameDemo07(){
//窗口属性
setTitle("多事件源");
setSize(400,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j = new JLabel("请输入文字");
btn1 = new JButton("1");
btn2 = new JButton("2");
btn3 = new JButton("3");
btn4 = new JButton("4");
jf = new JTextField(10);
Container c = getContentPane();
c.setLayout(new FlowLayout());
//2.添加监听器件
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
btn4.addActionListener(this);
c.add(j);
c.add(btn1);
c.add(btn2);
c.add(btn3);
c.add(btn4);
c.add(jf);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JFrameDemo07();
}
//设置相应消息响应函数
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
StringBuffer str = new StringBuffer(jf.getText());
str.append(e.getActionCommand());
String str1 = new String(str);
jf.setText(str1);
}
}