JAVA SWT事件四种写法实例解析


Posted in Python onJune 05, 2020

一:匿名内部类写法

在一个组件下加入以下语句

text.addMouseListener(new MouseAdapter(){
      public void mouseDoubleClich(MouseEVent e){
     MessageDialog.openInformation(null,"","helloworld"):
}})

这种方式是在事件内部直接实现处理代码,优点是简单方便,但也存在缺点

①:事件处理代码会分散的出现在各个部分,维护起来不方便;

②:如果代码较长,阅读和维护起来麻烦

③:当工具栏、菜单栏也需要相同的行为时,代码无法重用,导致代码臃肿

二:命名内部类写法:

text.addMouseListener(new MyMouseDoubleClick());
...//定义MyMouseDoubleClick.java
private static final class MyMouseDoubleClick extends MouseAdapter{
     public void mouseDoubleClick(MouseEvent e){
          MessageDialog.openInformation(null,"","hello world")
}
}

三:外部类写法:

这种方法与第二种方法类似,只是有内部类变为单个外部类

四:实现监听器接口的写法:

将类实现相应的接口,这样类本身就成了一个监听器,使得加入监听器的代码可以更简洁,这种方法适合加入监听器的组件较多,且要求监听器的事件处理代码可以被组件共用,需要注意的是

事件方法和其他方法混合在一起,所以应加一些注释来说明。没用事件处理方法可以用空来实现。如果继承了了相应的事件适配器,则可根据需要写相应的方法,另外需要注意,只有接口才有多继承的特性,所以如果类本身已经是一个子类,则只有通过实现接口的方式来实现而不能继承接口的适配器。

public class Helloworld extends MouseAdapter implements MouseListener{
     public static void main(String[] args){
 .......
    Text text1=new Text(shell,SWT.Border);
   Text text2=new Text(shell, SWt.Border);
   text1.addMouseListener(this);
   text2.addMouseListener(this);
}
  public void mouseDoubleClick(MouseEvent e){
   MessageDialog.openInformation(null,"","hello world");}}
}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python最基本的数据类型以及对元组的介绍
Apr 14 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
Jun 17 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
python计算两个地址之间的距离方法
Jun 09 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
实例讲解python中的序列化知识点
Oct 08 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
python实现的自动发送消息功能详解
Aug 15 Python
Python对象的属性访问过程详解
Mar 05 Python
keras .h5转移动端的.tflite文件实现方式
May 25 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 #Python
基于Python爬虫采集天气网实时信息
Jun 05 #Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 #Python
Python调用.net动态库实现过程解析
Jun 05 #Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 #Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 #Python
python3检查字典传入函数键是否齐全的实例
Jun 05 #Python
You might like
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
javascript的BOM
2016/05/03 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
工程专业应届生求职信
2014/02/19 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
暖春观后感
2015/06/08 职场文书
重阳节主题班会
2015/08/17 职场文书
初三化学教学反思
2016/02/22 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers