Java语言学习--Swing中Button事件监听
来源:互联网 发布:淘宝大学开网店步骤 编辑:程序博客网 时间:2024/05/16 18:48
一、前言
今天在使用Java Swing中的JButton的事件触发机制时遇到了许多问题,简单的了解了一下。
二、事件监听机制
下面用一张图分析事件监听的机制(图片来自网络):
三、代码分析
3.1 分析一
1.事件源注册监听器
JButton newButton = new JButton();newButton.addActionLister(listener);
2.用户触发事件
例如单击该按钮
3.创建事件对象即ActionEvent Object
ActionEvent e;
4.将事件的对象传递给监听器并调用监听器方法
@Override public void actionPerformed(ActionEvent e) { // 相应的逻辑判断 if(e.getSource()==jb) { this.dispose(); // 点击按钮时frame1销毁,new一个frame2 new frame2(); } }
3.2 分析二
以上代码也可以这样设计:
JButton newButton = new JButton(); newButton.addActionLister(listener); newButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==jb) { this.dispose(); // 点击按钮时frame1销毁,new一个frame2 new frame2(); } });}
四、代码实现
public static void main(String[] args) { JFrame jf = new JFrame("事件监听测试"); jf.setVisible(true); jf.setSize(100, 200); JButton jb = new JButton("触发事件"); jf.add(jb); jb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 进行逻辑处理即可 System.out.println("触发了事件"); } }); }
五、详解actionListener()和actionPerformed()
5.1 actionListener()
actionListener()接口是Java中关于事件处理的一个接口,继承自EventListener。
5.2 actionPerformed()
actionPerformed()是actionListener()接口中声明的一个方法,在监听器接收到触发事件源时自动调用的,比如按下按钮后,它和KeyListener,MouseLisenter,WindowListener等是同一性质的方法(分别对应键盘监听、鼠标监听、窗口监听)。在这个方法中可以做相应的逻辑处理。
阅读全文
1 0
- Java语言学习--Swing中Button事件监听
- Java Swing使用注解绑定事件监听
- Button监听事件
- Java学习中--swing
- java Swing:实现事件监听的三种方式
- java Swing:实现事件监听的三种方式
- Java:简单的Swing用户界面和监听按钮点击事件
- JAVA swing界面JFrame窗体的全局按键事件监听
- JAVA-Swing图形化界面之事件监听1
- GLSurfaceView中添加button并监听click事件
- android 中 Button 的监听事件的多种实现方式
- 在android 中利用button 按钮设置监听事件
- 【NGUI】Unity中给NGUI添加监听事件,Button,Toggle
- Andriod 中button监听事件的三种方式
- 【NGUI】Unity中给NGUI添加监听事件,Button,Toggle
- unity3D 在UGUI中动态添加button的监听事件
- SWT的button组件中,添加单击事件监听
- java 中 的事件监听
- [LeetCode]624. Maximum Distance in Arrays
- BOOL类型
- 人性的弱点
- 【机器学习】局部加权线性回归
- SLAM资料 转载
- Java语言学习--Swing中Button事件监听
- 回溯法
- SlidingMenu在android studio中的使用
- DAY-1
- Android-Tint使用实践
- BorderLayout
- TF-IDF原理及使用
- struct和typedef struct 区别 分析
- C++ Armadillo 实现混合高斯模型