《Java数字图像处理:编程技巧与应用实践》——3.4 基本JButton事件响应

本节书摘来自华章计算机《Java数字图像处理:编程技巧与应用实践》一书中的第3章,第3.4节,作者 贾志刚,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 基本JButton事件响应

在学习JButton事件响应的知识之前,首先来看一下Swing中如何实现对用户事件的监听与处理,认识一下Swing中事件响应最重要的线程—事件分派线程。

在Swing中有一个特殊的线程被称为Swing事件分配线程,如果对UI组件的操作不在Swing事件分派线程中,Swing将抛出异常。检测当前线程是否为事件分派线程可以通过Swing本身提供的一个简单方法SwingUtilities.isEventDispatchThread()来完成。对Swing UI组件的刷新、重绘等必须都在事件分派线程中完成,这是因为Swing组件本身的设计不是线程安全的,所以通过一个特殊的线程—事件分派线程来实现对所有组件的更新与重绘,这样就保证了Swing组件操作的线程安全性。

JButton组件是Java Swing中实现用户交互最常用的组件,当用户单击对应的JButton组件时,Swing通过监听组件添加ActionListener对象实例,来实现对JButton组件单击事件的监听与响应处理,其响应处理则通过实现ActionListener接口的actionPerformed()方法来完成。很多时候,在单击JButton按钮以后,虽然有很多事情要做,但还是希望UI可以继续响应用户操作,这时可使用SwingWork来完成用户的操作并刷新UI显示。

在对Swing事件响应机制有初步了解以后,下面看一下在正式的项目编程中Swing如何实现对JButton事件监听与响应。其实现过程大致可以分为两步完成。

1)实现ActionListener接口,最常见的是由定义JButton组件的类来实现ActionListener接口。

2)根据ActionEvent.getActionCommand()得到的文本常量响应相应的用户操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值