AWT事件处理机制
在事件处理的过程中主要涉及3类对象
1.事件,用户对界面操作在Java语言上的描述以类的形式出现,例如键盘操作对应的事件类是KeyEvent
2.事件源,事件发生的场所,通常是各个组件,例如按钮Button
3.事件处理者,接收事件对象并对其进行处理的对象
同一个事件源可能发生多种事件,所以Java采取授权处理机制,事件源把自身可能发生的事件分别授权给不同的事件处理者进行处理。
有时也将事件处理者称为监听器,因为监听器时刻监听事件源发生的事件类型,如果该事件类型与自己所负责处理的事件类型一致,就马上进行处理
授权模型把事件的处理委托给外部处理实体进行处理,实现将事件源和监听器分开的机制。事件处理者(监听器)通常是一个类,该类如果能够处理某种类型的事件,就必须实现与该事件类型相对应的接口
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ep2_6 { public static void main (String[] args){ Frame f=new Frame(); Button b1=new Button("1"); b1.addActionListener(new ButtonHandler());//注册监听器进行授权,该方法参数是事件处理对象 f.setLayout(new FlowLayout()); f.add(b1); f.setSize(100, 100); f.setVisible(true); } class ButtonHandler1 implements ActionListener//实现接口ActionListener才能做事件ActionEventd的处理者 { public void actionPerformed1(ActionEvent e)//系统产生的ActionEvent事件对象被当作参数传递给该方法 { System.out.println("处理"); } @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 } } }