事件监听的简单代码
事件监听
当某件事发生,会做什么行为。
package com.jun.lesson01;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestActionEvent {
public static void main(String[] args) {
Frame frame = new Frame();
frame.setVisible(true);
frame.setBounds(200,200,500,200);
Button button = new Button();
//MyActionListener myActionListener = new MyActionListener();//实例化对象对下面的事件监听做参数
button.addActionListener(new MyActionListener());
frame.add(button);
frame.pack();//窗口的优化方法
windowclose(frame);
}//关闭窗体的事件
static void windowclose(Frame frame){
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
class MyActionListener implements ActionListener{//继承事件监听接口
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("666");//当按下按钮控制台打印输入
}
}
注意:一个类中只有一个public class可以有多个class。同一个类中的方法调用,使用方法名调用即可。
多个按钮共用一个监听事件
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionTest01 {
public static void main(String[] args) {
Frame frame = new Frame();
frame.setVisible(true);
frame.setLayout(new BorderLayout());
frame.setBounds(100,110,500,500);
Button b1 = new Button();
Button b2 = new Button();
b2.setActionCommand("b2-stop");
MyMonitor myMonitor = new MyMonitor();
b1.addActionListener(myMonitor);
b2.addActionListener(myMonitor);
frame.pack();
frame.add(b1,BorderLayout.NORTH);
frame.add(b2,BorderLayout.SOUTH);
}
}
class MyMonitor implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被点击了:msg"+e.getActionCommand());
}
}//多个按钮共用一个监听事件