没有合适的资源?快使用搜索试试~ 我知道了~
java Swing学习之事件与事件处理器模型.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 177 浏览量
2021-11-23
08:23:43
上传
评论
收藏 218KB PDF 举报
温馨提示
试读
4页
java Swing学习之事件与事件处理器模型.pdf
资源推荐
资源详情
资源评论
Swing 事件与事件处理器模型
Component 在 Swing 模型中是事件触发源。前一篇文章在描述 Swing 的事件处理模型时
就已经提到了这个事件处理过程。简单来说,Swing 组件在侦听到原生事件并处理后,往往产生
新的逻辑事件。逻辑事件是某些组件所特有的、具有特定语义的事件,比如 JButton 按下时产
生 ActionEvent、JComboBox 一项被选中时产生 ItemEvent,等等。和原生事件不同,它们并
不被派发到系统事件队列中,而是由组件直接触发。事件处理器作为组件的观察者添加到组件上
并侦听触发的事件。假设事件名叫 XXX,Swing 中实现这个模式的一般模式是:
1.定义一个 XXXEvent
public class XXXEvent extends Event{
...
public void XXXEvent(Object src){
super(src);
...
}
...
}
2.定义一个事件处理器接口 XXXListener,声明所有和该事件相关的处理方法:
public interface XXXListener extends EventListener{
void action1(XXXEvent evt);
void action2(XXXEvent evt);
...
}
3.在触发它的组件中定义一下方法:
public class MyComponent extends Jcomponent{
...
//
存放事件处理器的队列
private ArrayList<XXXListener>xxxListeners=new ArrayList<XXXListener>();
//
定义以下各种方法,访问符号用
public
,以方便添加删除处理器
public void addXXXListener(XXXListener listener){
xxxListeners.add(listener);
}
public void removeXXXListener(XXXListener listener){
xxxListeners.remove(listener);
}
//
定义各种触发
(fire)action1
、
action2...
的方法,注意一般使用
protected
,以便继承和扩
展
//
每一个
action
都要定义一个相应触发
(fire)
的方法
protected void fireAction1(XXXEvent evt){
for(XXXListener listener:xxxListeners){
listener.action1(evt);
}
资源评论
qiulla
- 粉丝: 0
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功