事件监听:当某个事情发生的时候,要做什么操作
目录
简单事件监听
1、关闭窗口
// 希望:按下按钮,可以触发一些事件
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class ActionEvent {
public static void main(String[] args) {
Frame frame = new Frame();
Button button = new Button();
// 因为 addActionListener() 需要一个 ActionListener
// 所以我们需要构造一个 ActionListener
MyActionListener myActionListener = new MyActionListener();
button.addActionListener(myActionListener);
frame.add(button, BorderLayout.CENTER);
frame.setSize(300,300);
windowClose(frame); //关闭窗口
frame.setVisible(true);
}
// 关闭窗口的事件
private 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(java.awt.event.ActionEvent e) {
System.out.println('a'); //点击按钮时输出a
}
}
2、两个按钮共享一个事件
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
// 两个按钮,实现同一个监听
public class ActionTwo {
public static void main(String[] args) {
Frame frame = new Frame("开始-停止");
Button button1 = new Button("start");
Button button2 = new Button("stop");
button2.setActionCommand("button2-stop");
MyMonitor myMonitor = new MyMonitor();
button1.addActionListener(myMonitor);
button2.addActionListener(myMonitor);
frame.add(button1, BorderLayout.NORTH);
frame.add(button2, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
}
class MyMonitor implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// e.getActionCommand() 获得按钮的信息
System.out.println("按钮被点击了:msg=> " + e.getActionCommand());
}
}
输入框事件监听
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TextAction {
public static void main(String[] args) {
new MyFrame1();
}
}
class MyFrame1 extends Frame {
public MyFrame1() {
TextField textField = new TextField();
add(textField);
//监听这个文本框输入的文字
MyActionListener1 myActionListener1 = new MyActionListener1();
//按下enter,就会触发这个输入框监听事件
textField.addActionListener(myActionListener1);
setVisible(true);
pack();
}
}
class MyActionListener1 implements ActionListen