07:事件监听

事件监听:
当某个事情发生的时候,干什么?比如说,点击按钮,它需要发送一条消息;按下键盘上键,它需要往上走;按下键盘下键,它需要往下走。它就属于一个监听,所以监听就有鼠标监听、键盘监听。。。
 
案例一:按下按钮,触发一些事件
 1 package com.gui.lesson2;
 2 
 3 import java.awt.*;
 4 import java.awt.event.ActionEvent;
 5 import java.awt.event.ActionListener;
 6 import java.awt.event.WindowAdapter;
 7 import java.awt.event.WindowEvent;
 8 
 9 public class TestActionEvent {
10     public static void main(String[] args) {
11         //按下按钮,触发一些事件
12         Frame frame = new Frame();
13         Button button = new Button();
14 
15         //因为,addActionListener()需要一个 ActionListener ,所以我们需要构造一个 ActionListener,
16         //怎么构造呢?接口就去写实现类,如果是父类就去继承么。
17 
18         MyActionListener myActionListener = new MyActionListener();
19         button.addActionListener(myActionListener);
20 
21         //把按钮添加进去,然后到中间
22         frame.add(button, BorderLayout.CENTER);
23         //没设置大小,让它自适应
24         frame.pack();
25         //关闭窗口
26         windowsClose(frame);
27         //可见
28         frame.setVisible(true);
29 
30     }
31 
32     //关闭窗口的事件
33     public static void windowsClose(Frame frame) {
34         frame.addWindowListener(new WindowAdapter() {
35             @Override
36             public void windowClosing(WindowEvent e) {
37                 System.exit(0);
38             }
39         });
40     }
41 }
42 
43 //事件监听
44 class MyActionListener implements ActionListener {
45 
46     @Override
47     public void actionPerformed(ActionEvent e) {
48         System.out.println("aaa");
49     }
50 }
View Code

案例二:多个按钮,共享一个事件类
 1 package com.gui.lesson2;
 2 
 3 import java.awt.*;
 4 import java.awt.event.ActionEvent;
 5 import java.awt.event.ActionListener;
 6 import java.awt.event.WindowAdapter;
 7 import java.awt.event.WindowEvent;
 8 
 9 public class TestActionEvent {
10     public static void main(String[] args) {
11         //按下按钮,触发一些事件
12         Frame frame = new Frame();
13         Button button = new Button();
14 
15         //因为,addActionListener()需要一个 ActionListener ,所以我们需要构造一个 ActionListener,
16         //怎么构造呢?接口就去写实现类,如果是父类就去继承么。
17 
18         MyActionListener myActionListener = new MyActionListener();
19         button.addActionListener(myActionListener);
20 
21         //把按钮添加进去,然后到中间
22         frame.add(button, BorderLayout.CENTER);
23         //没设置大小,让它自适应
24         frame.pack();
25         //关闭窗口
26         windowsClose(frame);
27         //可见
28         frame.setVisible(true);
29 
30     }
31 
32     //关闭窗口的事件
33     public static void windowsClose(Frame frame) {
34         frame.addWindowListener(new WindowAdapter() {
35             @Override
36             public void windowClosing(WindowEvent e) {
37                 System.exit(0);
38             }
39         });
40     }
41 }
42 
43 //事件监听
44 class MyActionListener implements ActionListener {
45 
46     @Override
47     public void actionPerformed(ActionEvent e) {
48         System.out.println("aaa");
49     }
50 }
51 
52 结果:
53 按钮被点击了:msg-start
54 按钮被点击了:msg-button2-stop
View Code

原文地址:https://www.cnblogs.com/duanfu/p/12599363.html