您的位置:首页 > 编程语言 > Java开发

java事件处理的三种方式

2016-03-29 00:49 429 查看

方法一:使用接口

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JiSuanQi extends JFrame implements ActionListener{
JButton jb=new JButton("关闭");
JiSuanQi(){
this.setSize(350, 80);
this.setLocation(300, 300);
this.setTitle("计算器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jb);
jb.addActionListener(this);
}
public static void main(String[] args) {
JiSuanQi j=new JiSuanQi();
j.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource().equals(jb)){
System.exit(0);
}
}
}


方法二:定义一个类,使用接口

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JiSuanQi extends JFrame{
JButton jb=new JButton("关闭");
JiSuanQi(){
this.setSize(350, 80);
this.setLocation(300, 300);
this.setTitle("计算器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jb);
jb.addActionListener(new ButtonAction());
}
public static void main(String[] args) {
JiSuanQi j=new JiSuanQi();
j.setVisible(true);
}
class ButtonAction implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource().equals(jb)){
System.exit(0);
}
}
}
}


方法三:使用匿名内部类

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JiSuanQi extends JFrame{
JButton jb=new JButton("关闭");
JiSuanQi(){
this.setSize(350, 80);
this.setLocation(300, 300);
this.setTitle("计算器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jb);
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
}
public static void main(String[] args) {
JiSuanQi j=new JiSuanQi();
j.setVisible(true);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: