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爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
说说如何遍历Python列表的方法示例
Feb 11 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
简单分析python的类变量、实例变量
Aug 23 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 Python
在keras下实现多个模型的融合方式
May 23 Python
Python 操作 MySQL数据库
Sep 18 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
微信红包随机生成算法php版
2016/07/21 PHP
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
详解python while 函数及while和for的区别
2018/09/07 Python
Python----数据预处理代码实例
2019/03/20 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
2014高考励志标语
2014/06/05 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
PHP正则表达式之RCEService回溯
2022/04/11 PHP