- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 图形用户界面的实现 图形界面作为用户与程序交互的窗口,是软件开发中一项非常重要的工作。本章将会详细介绍如何使用Java语言编写图形界面,利用Java丰富的图形组件创建交互性更好的用户界面。 7.1 图形用户界面概述 无论采取何种语言、工具实现图形界面,其原理都基本相似。简单而言,图形界面就是用户界面元素的有机合成。这些元素不仅在外观上相互关联,在内在上也具有逻辑关系,通过相互作用、消息传递,完成用户操作的响应。 设计和实现图形用户界面时,主要包含两项内容。 (1)创建图形界面中需要的元素,进行相应的布局。 (2)定义界面元素对用户交互事件的响应以及对事件的处理。 7.2 Swing与AWT AWT、Swing作为图形界面的开发包同时存在于同一标准库中,那么二者之间的区别在哪里呢?创建图形界面时如何取舍?本节详细讲述Swing与AWT的关系,以及如何取舍Swing与AWT。 7.2.1 Swing与AWT之间的关系 Swing诞生之前,Java中用来进行图形用户界面开发的工具包为AWT。AWT是“Abstract Window Toolkit”的缩写,又称为“抽象窗体工具包”。 AWT是随早期Java一起发布的GUI工具包,是所有Java版本中都包含的基本GUI工具包,其中不仅提供了基本的控件,并且还提供了丰富的事件处理接口。Swing是继AWT之后Sun推出的又一款GUI工具包。Swing建立在AWT 1.1基础上的,也就是说,AWT是Swing大厦的基石。 7.2.2 关于Swing与AWT控件的混用 由于AWT中提供的控件,均依赖本地系统实现,而Swing控件属于轻量级控件,是由纯Java编写的,使用基本图形元素直接在屏幕上绘制,因此在搭建界面时,如果将二者同时使用,就有可能会出现遮挡的现象。 7.3 事 件 处 理 对于GUI的应用程序来说,事件处理是必不可少的,用户与程序之间的交互都是通过事件处理来实现的。 当用户与GUI交互时,无论是单击鼠标,还是按下键盘,都会触发相应的事件。事件将通知应用程序发生的情况,接着应用程序会根据不同的事件作出相应的回应。所以在整个过程中涉及到两个对象:事件源与事件监听器。 事件源是指触发事件的控件,如按钮、窗体、列表、表格等。不同控件在不同情况下将触发不同的事件,关于事件的信息被封装在事件对象中。 7.3.1 事件的层次结构 前面已经介绍,虽然现在在开发中使用的都是Swing控件,但事件处理模型还是基于AWT 1.1的。本小节将介绍AWT 1.1中的事件层次结构, 所有的事件类都继承自EventObject类,在该类中定义了一个非常有用的getSource()方法,该方法的功能为从事件对象获取触发事件的事件源,为编写事件处理的代码提供方便,该方法的接口如下。 7.3.2 窗体事件 大部分GUI应用程序都需要使用窗体来作为最外层的容器,可以说窗体是组建GUI应用程序的基础,应用中需要使用的其他控件都是直接或间接放在窗体中的。 如果窗体关闭时需要执行自定义的代码,则应该使用事件处理来实现,本小节将结合事件处理模型介绍如何开发处理窗体事件的代码,包括关闭窗体、窗体失去焦点、获得焦点、最小化等情况。 7.3.3 鼠标事件 当用户在GUI界面上单击鼠标、拖动鼠标、转动鼠标滚轮时,都会触发相应的鼠标事件。对于鼠标事件,Java提供了MouseWheelEvent类和MouseEvent类表示相应的事件。 MouseWheelEvent事件主要用来处理与鼠标滚轮转动相关的动作,如鼠标滚轮转动的方向和单位数。而MouseEvent事件则反映了事件发生时鼠标的按键、水平x坐标、垂直y坐标以及关联鼠标的单击次数。 7.3.4 事件适配器 适配器是指实现了一个或多个监听接口的类,适配器类为所有的事件处理方法都提供了空实现。实际开发中在编写监听器代码时不再直接实现监听接口,而是继承适配器类并重写需要的事件处理方法,这样就避免了编写大量不必要代码的情况, 7.4 创建图形用户界面 通过上面的介绍,我们已经对图形用户界面编程有了初步的认识。从本节开始将系统地介绍如何开发图形用户界面,尤其是讲述需要用到的基本知识点。 7.4.1 窗体 在前面介绍窗体事件中曾经讲述过,应用中需要使用的其他控件都是直接或间接放在窗体中的,窗体是组建GUI应用程序的基础。在Swing中,可以利用JFrame类创建包含标题、边框以及最大化、最小化、关闭按扭的窗口。 JFrame类构造器创建的窗体是不可见的,需要在代码中手工指定才可以在屏幕上看见窗体。这样做的目的是因为很多对窗体的特殊操作都需要在窗体被设置为可见之前完成,否则将会在运行时抛出异常。同时,JFrame类构造器创建的窗体默认的尺寸为0×0像素,默
您可能关注的文档
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 第3章 类、类的继承和接口.ppt
- 新Java程序设计教程 工业和信息化普通高等教育“十二五”规划教材 教学课件 段新娥 贾宗维 2_ chap9.ppt
- 新Java程序设计教程 教学课件 杨晓燕 java9.ppt
- 新Java程序设计教程 教学课件 杨晓燕 Java11.ppt
最近下载
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案).pdf VIP
- 2024届福建省莆田市高三第二次教学质量检测二模生物试卷.doc VIP
- 电梯维修及维护人员的安全知识与技能培训课件.pptx VIP
- 小学新教育实验实施方案(详细).docx
- 23中英文双语单片机车辆防碰撞外文文献翻译:基于超声波与单片机嵌入式系统开发集成应用的汽车防撞系统设计.doc VIP
- 八年级数学上册《分式》教案教材分析.pdf VIP
- 大华DSS5000系列-客户端操作手册-.docx
- 2013款上汽通用别克君越_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 人教版数学二年级下册全册教学课件(2023年新教材).pptx
- 越人歌-钢琴伴奏谱.pdf
文档评论(0)