java的swing中很难理解的一部分就是事件机制了下面是3种实现方法
1.正常的类实现方法,但这里是定义了新的事件类,再在里面定义按钮,更常规的做法是定义按钮和定义事件的都分开,但这样在编写大量的事件时明显非常冗余
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
public class TestActionListener1 implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
}
public void test() {
JButton s_button = new JButton("按钮");
s_button.addActionListener(this);
}
}
2.使用内部类来完成
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
public class TestActionListener2 {
public void test() {
JButton s_button = new JButton("按钮");
MyButtonActionListener s_listener = new MyButtonActionListener();
s_button.addActionListener(s_listener);
}
private class MyButtonActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
}
}
}
3.更懒的方法,连名都不想命名了(反正都自己用)---内部匿名类
public class TestActionListener3 {
public void test() {
JButton s_button = new JButton("按钮");
s_button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
}
});
}
}