`
淡淡淡的天空
  • 浏览: 7945 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

事件——让图形界面动起来

阅读更多
为了让图形界面变得有意义,则必须加入事件处理。事件类都继承了EventObject类。为了能跟踪事件源,EventObject类提供了getSource()方法来返回触发事件的对象。事件处理主要有三个部分:
事件源
1.只有Swing和awt的图形界面组件才能成为事件源对象。
2.事件发生的地方,动作发生在哪一个组件上,那么该组件就是事件源对象。

事件监听器方法
addActionListener(ActionListener l);
类似按钮上的鼠标点击或者输入框中的回车
addMouseListener(MouseListener l);
在事件源上发生鼠标按下,释放,单击,进入,离开操作时

事件接口(事件处理者)
定义类去实现ActionListener接口
定义类去实现MouseListener接口
注:对每个事件接口必须实现其所有的抽象方法。
举例:事件监听接口(MouseListener)中的抽象方法
public void mouseClicked(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseMoved(MouseEvent e) {
}

事件适配器
监听器是一个对象,进行事件处理需要自动调用一个方法,为此创建该监听器的类需要实现相应接口中的所有方法。但是,通常每个组件需要的仅仅是接口中的个别方法。因此,为了使事件处理变得简单,Java为具有多个方法的监听器提供了对应的适配器(adapter)类。这个类的基本作用是屏蔽了事件监听器接口,是处理事件的类不必再实现事件监听器接口中的全部抽象方法。但是,处理事件的类只能继承一个事件适配器。因此,需要多个事件监听器时,可以自己定义一个事件适配器。
class MyMouseMotionHandle extends JFrame{
	public MyMouseMotionHandle(){
		super.setTitle("Welcome To MLDN") ;
		super.addMouseMotionListener(new MouseMotionAdapter(){
			public void mouseDragged(MouseEvent e){
				System.out.println("鼠标拖拽到:X = " + e.getX() + ",Y = " + e.getY()) ;
			}
		}) ;
		super.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(1) ;
			}
		}) ;	// 加入事件
		super.setSize(310,210) ;
		super.setVisible(true) ;
	}
};
分享到:
评论

相关推荐

    OPhone平台2D游戏引擎实现——物理引擎

     Box2D是一个用于游戏的2D刚体仿真库,它可以使物体的运动更加真实,让游戏场景看起来更具交互性。2D物理引擎能增强游戏世界中物体如多边形(砖块,三角形,多边形)的动作的真实感从而提高游戏质量。该引擎通过...

    C++复现经典游戏?扫雷

     这两天再次用Qt基本图形界面框架,来实现扫雷游戏的功能。本想做得酷炫酷炫再酷炫的,但是真正动手写起来的时候,才发现还是有很多技术关没有通过,因此界面写得丑了。这次扫雷程序实现了基本的游戏功能,包含...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    7.1 方法:让汽车动开动 154 7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 Java普通方法的组成部分 157 7.2.1 访问控制符:public 158 7.2.2 返回值和...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    7.1 方法:让汽车动开动 154 7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 Java普通方法的组成部分 157 7.2.1 访问控制符:public 158 7.2.2 返回值和...

    linux教程——很使用的那种

    unix图形环境是CDE:common desktop environment通用桌面环境。 linux系统结构:硬件、内核层、shell层、应用层、用户。 在安装linux的时候,会弹出 CD Found To begin testing the CD media before ...

    电子地图的设计与实现研究.doc

    电子地图的设计与实现研究 摘 要:随着计算机和网络的发展,以及人们出行定位等的需要,电子地图应运而生并飞速 发展。...通过亮度的对比使整个界面生动起来。界面的 布局指界面上的内容如工具条、窗口、图标等构

    google android sdk开发范例大全 第二版 PDF 光盘代码

     10.12 动起来!手机桌面上会动的动态桌布  附录 如何发布程序到Android Market   A.1 支付Google Android Market注册费   A.2 生成签署凭证 .keystore金钥档案   A.3 上传*.apk程序到Android ...

    计算机应用基础教学计划(中职)..doc

    "周次 "教学内容(具体到章节) "重点难点 "实验安排 "备注 " "1 "第一章认识计算机 "用鼠标探索图 "1、介绍计算机大致的" " " "任务1 初识计算机 "形界面 "各个部件 " " " "任务2 用鼠标探索图形界面 " "2、熟练...

    Google Android SDK开发范例大全(第3版) 1/5

    10.12 动起来!手机桌面上会动的动态桌布 10.13 正妹墙相簿浏览器 10.14 YouTube影片FLV文件下载器 第11章 HTML5 Mobile应用程序开发 11.1 HTML5 INPUT输入框控制手机输入键盘 11.2 HTML5利用CSS3排版的墙贴相册 ...

    Google Android SDK开发范例大全(第3版) 4/5

    10.12 动起来!手机桌面上会动的动态桌布 10.13 正妹墙相簿浏览器 10.14 YouTube影片FLV文件下载器 第11章 HTML5 Mobile应用程序开发 11.1 HTML5 INPUT输入框控制手机输入键盘 11.2 HTML5利用CSS3排版的墙贴相册 ...

    免费的图像和照片处理软件 Paint NET 4.2.15 中文多语免费版.zip

    支持图层,无限制的历史记录,特效,和许多实用工具,并且开放源代码和完全免费,界面看起来有点 像 Photoshop。用来开发 Paint .NET 的语言是 C#,而安装程序和界面整合相关功能所用的开发语言是 C++。 Paint. NET ...

    Google Android SDK开发范例大全(第3版) 3/5

    10.12 动起来!手机桌面上会动的动态桌布 10.13 正妹墙相簿浏览器 10.14 YouTube影片FLV文件下载器 第11章 HTML5 Mobile应用程序开发 11.1 HTML5 INPUT输入框控制手机输入键盘 11.2 HTML5利用CSS3排版的墙贴相册 ...

    Google Android SDK开发范例大全(第3版)part2

     10.12 动起来!手机桌面上会动的动态桌布  10.13 正妹墙相簿浏览器  10.14 YouTube影片FLV文件下载器  第11章 HTML5 Mobile应用程序开发  11.1 HTML5 INPUT输入框控制手机输入键盘  11.2 HTML5利用CSS3...

    Google Android SDK开发范例大全(第3版) 5/5

    10.12 动起来!手机桌面上会动的动态桌布 10.13 正妹墙相簿浏览器 10.14 YouTube影片FLV文件下载器 第11章 HTML5 Mobile应用程序开发 11.1 HTML5 INPUT输入框控制手机输入键盘 11.2 HTML5利用CSS3排版的墙贴相册 ...

    VB课程设计俄罗斯方块

    某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似《俄罗斯方块》触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当...

    《Google Android SDK开发范例大全(第3版)》.pdf

    10.12 动起来!手机桌面上会动的动态桌布 764 10.13 正妹墙相簿浏览器 769 10.14 youtube影片flv文件下载器 779 第11章 html5 mobile应用程序开发 787 11.1 html5 input输入框控制手机输入键盘 788 ...

    Eclipse权威开发指南2.pdf

    10.3.2 SWT图形用户界面..... 244 10.3.3 基于添加项的Workbench 用户界面..... 245 10.3.4 IDE扩展..... 245 10.4 实现自己的Workbench... 246 10.4.1 可以在Workbench中 配置什么..... 249 10.4.2 启动并运行...

    paintdotnet中文版 v4.100.6822.38824.zip

    本软件提供多种绘图工具,包括油漆桶、渐变、剪裁、文字、画笔工具、多边形工具、矩形工具,您可以利用这些工具绘制自己需要的图形。 PaintDotNet软件特色 PaintDotNet工具面板与PS的感觉比较一致,其基本功能如...

    java源码包---java 源码 大量 实例

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics