Java程序设计教程5.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第五章 Java图形用户界面设计 5.1 Java图形用户界面计概述 5.2 Java事件处理机制 5.3 使用AWT组件库设计图形界面 5.4 使用Swing组件库设计图形界面 5.5 GUI设计实例 * 5.1 Java图形用户界面设计概述 基于控制台(命令行)的,程序的输出比较简陋,用户基本没有运行程序的直观体验,程序的运行结果只能通过Console窗口或命令行窗口查看,非专业人士难以对应用程序进行准确的运行和操作。 基于图形界面的应用程序更为简单和直观,用户使用的体验感更好,操作更加方便快捷。 基于图形界面的应用程序已经成为行业内开发的主流模式,这种方式给用户提供了更为直接的体验和更为便捷的操作,相应的,也增加了程序设计人员开发的难度。 * 图形用户界面,也即Graphics User Interface(简称GUI),就是通过应用程序,向用户提供图形化的操作界面,包括窗口、按钮、菜单、工具栏等各种图形元素,使得用户可以通过点击鼠标或敲击键盘的方式,对应用程序进行操作。 5.1.1 Java图形界面设计概述 从JDK1.0版本开始,Java为图形界面的开发提供了一套基本的GUI设计类库,称为抽象窗口工具集合(Abstract Window Toolkit,简称AWT),但是这套类库的功能较弱,界面也较为丑陋。 * 后来,Java推出一套全新的GUI设计类库,称为Swing,与AWT组件库相比,Swing的界面更为美观,功能也更为强大。 Swing组件库摒弃了AWT中的一部分过时组件,新增了一部分组件,但是使用的事件处理机制,仍然是与AWT组件库一致的。 * 第一,组件的外观(表象)设计,也就是组件本身的容貌设计。 第二,组件之间的布局设计,也就是各组件之间的相对位置和距离的设计。 第三,组件的功能设计,也就是说,当组件产生某种动作以后,能够完成什么样的功能。 * 前两种设计,可称之为美工设计,而组件的功能设计,则属于程序开发人员的工作。 5.1.2 简单的GUI程序举例 AWTExample.java SwingExample.java * 一般说来,Swing组件库中的组件,在名称开头会有一个大写字母J。 AWT组件库中的组件,很多在Swing组件库中均能找到对应的版本,例如Button对应于JButton,TextField对应于JTextField,Frame对应于JFrame等。对于同类型的组件而言,Swing组件的功能更强大,外观也更漂亮。 Java在向容器中添加组件的时候,有一套专门的布局管理器。 * 以上两个例子中使用的是FlowLayout布局管理方式,这也是最简单的一种布局管理,称为流式布局方式,按照从左到右,从上到下的顺序,依次将组件添加到容器中,程序中,先加入容器的组件,会显示在容器的左侧和上侧,后加入的组件,会显示在容器的右侧和下侧。 不在程序中显式的申明容器的布局管理方式的话,Frame和JFrame默认不使用布局,所以,组件会按照先后顺序逐个的向窗口上添加,最后添加的组件,会将其它事先已经添加的组件覆盖,从而只能显示最后添加的组件,之前添加的组件,因为被遮挡的原因,就无法显示在界面之上。 * 5.1.3 组件的分类 按照组件在GUI界面中扮演的角色,可以将组件分为两种类型:容器(Container)和基本组件(Component)。 基本组件就是不能包含其它组件的组件。在一个GUI界面中,通常基本组件的数量要大于容器的数量。 * 5.2 Java事件处理机制 在5.1.2节中举例的两个程序,均可以实现一些简单的操作,如窗口最大化、最小化、窗口拖拽等。 AWTExample.java在运行后,即使点击窗口的关闭按钮,窗口也无法实现关闭的功能。 SwingExample.java在运行后,点击窗口关闭按钮,虽然可以直接关闭窗口,但在Eclipse的Console窗口中, 标记仍然存在,这表示程序依然处于运行状态,没有退出。 * 在Java的GUI设计中,各组件(无论是AWT还是Swing)主要负责的是自身外观和属性的设计。 组件何时产生何种动作,以及对这些动作会有何种响应,却并不由组件本身来完成。 发现组件产生动作,以及对这个动作的响应,Java统一交给事件监听器(Listener)或者适配器(Adapter)处理。 * 5.2.1 事件处理机制中的要素 (1) 事件(Event) 对一个组件的某种同类型操作动作的集合。 * (2) 事件源(Event Source) 产生事件的源头,也即发生事件的组件。 例如,点击一次按钮,则按钮就是一个事件源,对应的事件为鼠标事件;在文本框中输入一个字符串,则文本框也是一个事件源,对应的事件为键盘事件。 * (3) 事件监听器(

您可能关注的文档

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档