面向对象的程序设计-jav张白一第三版第9章面向对象的程序设计-java张白一第三版第9章面向对象的程序设计-java张白一第三版第9章面向对象的程序设计-java张白一第三版第9章.ppt

面向对象的程序设计-jav张白一第三版第9章面向对象的程序设计-java张白一第三版第9章面向对象的程序设计-java张白一第三版第9章面向对象的程序设计-java张白一第三版第9章.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的程序设计-jav张白一第三版第9章面向对象的程序设计-java张白一第三版第9章面向对象的程序设计-java张白一第三版第9章面向对象的程序设计-java张白一第三版第9章

第9章 文字与图形GUI设计       9.1 GUI设计概述   图形用户界面(Graphics User Interface,GUI)为应用程序提供了一个图形化的界面。GUI使用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出命令、启动操作,并将系统运行的结果同样以图形的方式显示给用户,使应用程序具有画面生动、操作简便的效果,省去了字符命令界面中用户必须记忆各种命令的麻烦,深受广大用户的喜爱和欢迎,已经成为目前几乎所有应用软件的既成标准。   Java提供的JFC是用于创建图形用户界面的主要组件工具类库。 9.1.1 JFC简介   JFC(Java Fundation Classes)是Java基础类库的简称,是Java提供的用于创建图形用户界面的类库。JFC主要包括AWT(Abstract Window Toolkit)组件、Swing组件、Java 2D API、Drag and Drop API以及Accessibility API。   (1) ?AWT 组件:早期的窗口组件包,提供构造窗口的基本需求,例如按钮、文本框、复选框、对话框、菜单等。   (2) ?Swing 组件:新的窗口组件包,AWT中所有的组件均能在Swing中找到对等体并有很大的改进,此外,Swing还提供了一套丰富的组件和工作框架,例如JTable、JList、JTree等,以提高GUI的开发效率。图9.1是AWT组件与Swing组件间的继承关系。从图9.1可以看出,Swing组件都是AWT的Container类的直接子类和间接子类。例如,JComponent抽象类直接继承Container类,JApplet间接继承Container类。   (3) ?Java 2D API:扩展了java.awt和java.awt.Image类,它为Java应用程序提供了一套二维图形图像处理的类,并提供了丰富的绘图风格,使得独立于平台的图形应用程序的开发更加简便。   (4) ?Drag and Drop API:Drag and Drop API使用户能够在两个应用程序之间实现与平台无关的拖放功能,可以用于Java应用程序和不支持Java技术的应用程序之间交换数据。   (5) ?Accessibility API:提供更先进的沟通界面,例如语音输入、触摸式屏幕等。   本书主要讨论前三个API的使用。 图9.1 AWT组件与Swing组件间的继承关系 9.1.2 图形用户界面元素分类   Java中构成图形用户界面的各种元素和成分可以粗略地分为三类:容器、控制组件和用户自定义成分。下面给予简略的说明。   1.容器   容器是用来组织或容纳其他界面成分和元素的组件。一个容器可以包含许多组件,同时它本身也可以作为一个组件,放进另一容器中。我们可以用容器简化图形化界面的设计,以整体结构来布置界面。一个应用程序的图形用户界面首先对应于一个复杂的容器,例如一个窗口。这个容器内部将包含许多界面成分和元素,其中某些界面元素本身也可能又是一个容器,这个容器再进一步包含它的界面成分和元素,依此类推就构成一个复杂整体图形界面。   如图9.1所示。java.awt.Component抽象类是许多容器类的父类,Component抽象类中封装了容器通用的方法和属性,如图形的容器对象、大小、显示位置、前景色和背景色、边界、可见性等。java.awt.Container容器类是Component抽象类的子类,是所有其他容器的父类,它具有组件的所有性质,它的主要功能是容纳其他的控制组件和容器。   2.控制组件   与容器不同,控制组件是图形用户界面的最小单位之一,它里面不再包含其他的成分。控制组件的作用是完成与用户的一次交互,包括接收用户的一个命令(如菜单命令),接收用户输入的一个文本或选择,向用户显示一段文本或一个图形,等等。   从某种程度上来说,控制组件是图形用户界面标准化的结果,目前常用的控制组件有选择类的单选按钮、复选按钮、下拉列表,有文字处理类的文本框、文本区域,有命令类的按钮、菜单等。Swing控制组件的层次结构如图9.2所示。 图9.2 Swing控制组件的层次结构图   使用控制组件,通常需要通过如下几步来实现:   (1) 创建某控制组件类的对象,指定其大小等属性。   (2) 使用某种布局策略,将该控制组件对象加入到某个容器中的指定位置。   (3) 将该组件对象注册给所能产生的事件对应的事件监听程序,重载事件处理方法,实现利用该组件对象与用户交互的功能。   3.用户自定义成分   除了上述的标准图形界面元素外,编程人员还可以根据用户的需要,使用各种字型、字体和色彩设计一些几何图形、标志图案等,它们

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档