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 相关文章推荐
python3使用tkinter实现ui界面简单实例
Jan 10 Python
python中利用xml.dom模块解析xml的方法教程
May 24 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
浅谈numpy数组中冒号和负号的含义
Apr 18 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 Python
Python的log日志功能及设置方法
Jul 11 Python
pytorch+lstm实现的pos示例
Jan 14 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
django rest framework 过滤时间操作
Jul 12 Python
pycharm 快速解决python代码冲突的问题
Jan 15 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 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投票系统防刷票判断流程分析
2012/02/04 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
javascript回到顶部特效
2016/07/30 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
澳大利亚家庭花园和DIY工具网店:VidaXL
2019/05/03 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
数控专业个人求职信范例
2013/11/29 职场文书
企业后勤岗位职责
2014/02/28 职场文书
机关出纳岗位职责
2014/04/03 职场文书
优秀护士演讲稿
2014/04/30 职场文书
应届大专生自荐书
2014/06/16 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
2015年大学生工作总结
2015/04/21 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers