**
主题开始
可以会有不对的地方,麻烦大家说出来下,谢谢,注释都写在代码里面了~~~~~~~~
方法一:(this)
//导入包
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class A extends JFrame implements ActionListener {
public A() {
setTitle("java");// 设置标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置退出功能
setBounds(300, 300, 300, 300);// 设置窗体的位置,和大小
setLayout(new FlowLayout());// 设置布局
JButton jbutton1 = new JButton("点我(按钮1)");// 创建按钮1对象
add(jbutton1);// 添加对象到窗体上
jbutton1.addActionListener(this);// 给按钮1添加监听器
/*
* 上面这条语句添加监听器,为什么是this?
* 因为我们创建的这个类(类A)已经实现了ActionListener里面的方法即重写了actionPerformed方法
* 那么我们可以用其他替换吗?当然是可以的,因为this在这里的作用是提供了一个可以被调用的方法
* 如果你不想使用this,用其他的,你只要填写实现了ActionListener这个接口类的类的对象名就可以了 比如
* jbutton1.addActionListener(new CC()) public class CC implements
* ActionListener{ public void actionPerformed(ActionEvent a){ //要实现的功能 } }
* 想要了解更多可以可以看看这个https://zhidao.baidu.com/question/286123707.html
*/
setVisible(true);// 这个最好是放最后执行,不然组件不能及时显示出来
}
public void actionPerformed(ActionEvent a) {
// JOptionPane.showMessageDialog(null,"信息框");//弹出一个信息框,方便学习可以不看
System.out.println("hello,这是我监视器要调用的功能");
}
public static void main(String[] args) {
A c = new A();// 创建窗体
}
}
- 方法一效果演示:
方法二:(匿名类)
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class A extends JFrame {
public A() {
setTitle("java");// 设置标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置退出功能
setBounds(300, 300, 300, 300);// 设置窗体的位置,和大小
setLayout(new FlowLayout());// 设置布局
JButton jbutton1= new JButton("点我(按钮1)");// 为按钮button1对象分配内存空间
add(jbutton1);// 添加对象到窗体上
jbutton1.addActionListener(new ActionListener() {//匿名类重写ActionListener方法来实现
public void actionPerformed(ActionEvent a) {
System.out.println("hello,这是我监视器要调用的功能(方法二)");
}
});
setVisible(true);//设置窗体可见
}
public static void main(String[] args) {
A c = new A();//创建窗体
}
}
- 方法二效果演示:
方法三:(对象)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class A extends JFrame {
public A() {
setTitle("java");// 设置标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置退出功能
setBounds(300, 300, 300, 300);// 设置窗体的位置,和大小
setLayout(new FlowLayout());// 设置布局
JButton jbutton1 = new JButton("点我(按钮1)");// 为按钮button1对象分配内存空间
add(jbutton1);// 添加对象到窗体上
jbutton1.addActionListener(new B());// 给按钮1添加监听器
setVisible(true);// 设置窗体可见
}
public static void main(String[] args) {
A a = new A();// 创建窗体
}
}
import java.awt.event.*;
public class B implements ActionListener {
public void actionPerformed(ActionEvent a) {
System.out.println("hello,这是我监视器要调用的功能(方法三)");
}
}
- 方法三演示