详解Java Swing中添加鼠标事件的两种方式
2011-08-22 15:42
495 查看
今天和一个正在培训java的同学聊天,说起Java Swing中添加事件监听的两种方式。在此就给大家具体说说。
Java Swing中对事件监听有两种方式
1.添加内部监听(也叫匿名内部类方式),实现代码如下:
2.第二种(没有什么标准叫法),实现代码如下:
关于这两种方法的好坏:
当然就易于维护方法来讲还是第二种方法好,十分清晰。但有时第一种方法很方法,具体什么时候用什么方法,真的看情况。原则上我们是能用第二种方法时我们就用第二种方法。如果感觉第一种方法更方便的地方,再用第一种方法。
Java Swing中对事件监听有两种方式
1.添加内部监听(也叫匿名内部类方式),实现代码如下:
import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; import javax.swing.JOptionPane; /* * Java Swing添加事件监听(一)匿名内部类方式 * */ public class ActionListennerOne { public static void main(String[] args) { //1.创建一个JFrame:myFrame JFrame myFrame = new JFrame(); //2.设置myFrame的属性:可见、大小 myFrame.setVisible(true); myFrame.setSize(200, 200); //3.创建一个JPanel:myPanel JPanel myPanel = new JPanel(); //4.把myPanel放置在myFrame上 myFrame.add(myPanel); //5.创建一个JButton:myButton JButton myButton = new JButton("按钮1"); //6。把myButton放置在myPanel上 myPanel.add(myButton); //7.给myButton添加事件监听:内部类方式(仔细看,特别是标点符号) myButton.addMouseListener(new MouseListener() { public void mouseReleased(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseClicked(MouseEvent e) { //一个弹框,此处不细说其语法 JOptionPane.showMessageDialog(null,"内部类事件监听监听","注意",0,null); } }); } }
2.第二种(没有什么标准叫法),实现代码如下:
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; import javax.swing.JOptionPane; /* * Java Swing添加事件监听(二) * */ public class ActionListennerTwo { public static void main(String[] args) { ActionFrame test = new ActionFrame(); } } class ActionFrame implements ActionListener{ JButton myButton; public ActionFrame(){ //1.创建一个JFrame:myFrame JFrame myFrame = new JFrame(); //2.设置myFrame的属性:可见、大小 myFrame.setVisible(true); myFrame.setSize(200, 200); //3.创建一个JPanel:myPanel JPanel myPanel = new JPanel(); //4.把myPanel放置在myFrame上 myFrame.add(myPanel); //5.创建一个JButton:myButton myButton = new JButton("按钮2"); //6.把myButton放置在myPanel上 myPanel.add(myButton); //7.myButton添加事件监听(一定注意这句话) myButton.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==myButton){ JOptionPane.showMessageDialog(null,"非内部类事件监听","注意",0,null); } } }
关于这两种方法的好坏:
当然就易于维护方法来讲还是第二种方法好,十分清晰。但有时第一种方法很方法,具体什么时候用什么方法,真的看情况。原则上我们是能用第二种方法时我们就用第二种方法。如果感觉第一种方法更方便的地方,再用第一种方法。
相关文章推荐
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- MFC对话框添加菜单及鼠标响应事件步骤详解
- Swing中添加事件响应的三种处理方式
- swing 组件——在JLabel中添加图片的两种方式
- java swing 鼠标自动模拟点击事件
- Unity 3D NGUI两种事件添加方式比较
- mouse添加鼠标移出移入事件 两种方法
- java 实现websocket的两种方式实例详解
- Java解析XML文件的两种方式详解
- JAVA 实现线程的两种方式,举例,详解
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务
- 详解Java两种方式简单实现:爬取网页并且保存
- Java添加事件的四种方式
- java 序列化 serialVersionUID 的作用 和 两种添加方式
- Java连接oracle的两种方式详解
- javascript的事件绑定的两种方式详解
- Java Swing的三种注册事件详解
- Java Swing 控件添加事件响应
- Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
- Swing中添加事件响应的三种处理方式说明