下载此文档

第7章 图形用户界面.doc


文档分类:IT计算机 | 页数:约68页 举报非法文档有奖
1/68
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/68 下载此文档
文档列表 文档介绍
第7章图形用户界面
图形用户界面(Graphics User Interface, GUI),是指用图形的方式实现用户与计算机之间的交互。它通过图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机发出命令,启动程序,并将程序的运行结果同样以图形的形式显示给用户。
GUI通常由GUI组件(有时称为控件或窗口小部件)构成。GUI组件是用户通过鼠标、键盘或其它诸如声音识别等输入形式与应用程序进行交互的对象。学习Java的GUI设计就必须了解几个概念:容器、组件、容器布局、事件处理机制。本章将通过实例剖析Swing常用组件的功能、如何在组件中绘图、各种事件的应用、以及各种布局的设置等问题。
Java GUI概述
(现改名为Java 2)的发布,Java的API有两套完整的按钮、菜单、文本域以及其它GUI组件:抽象窗口工具集(Abstract Window Toolkit ,AWT)和Swing组件集。,由AWT扩展而来的Swing组件集,。二者均包括在JFC(Java Foundation Classes,Java基础类)中,JFC是一组支持在流行平台的客户端应用程序中创建GUI和图形功能的Java类库,作为J2SE的一个有机部分,主要包含五个部分,即AWT、Java2D、Accessibility、Drag&Drop、Swing,它是一套帮助开发人员设计复杂应用程序的开发包。
AWT与Swing
AWT是Java2版本之前的Java平台提供的一套图形用户界面组件类型。AWT库最重要的特征之一是,它与运行Java程序的计算机窗口系统(经常被称作本地窗口系统,native windowing system)底层相结合。AWT组件建立在对等模型(peer model)的基础上。每个AWT组件有一个相应的用本地系统的代码编写的对等类,对等类充当Java代码与本地窗口系统之间的接口,对等类里的方法是用本地代码编写的。例如,若要显示Button类型的对象时,,,在运行微软的Windows 操作系统的计算机上,该Button对象将具有与其它Windows应用程序相同的外观和感觉;同样,在运行Apple公司的Mac OS操作系统的计算机上,该Button对象将具有与其它Macintosh应用程序相同的外观和感觉。因此,AWT组件天生就是平台相关的,AWT组件被认为是重量级组件,它们直接映射到本地组件,需要由本地窗口系统提供资源。
注意:本地方法封装了用非Java语言(通常是C或者C++)编写的代码的调用,使JVM的功能获得扩展。
Swing组件从根本上来说建立在AWT上,它的四个顶层的窗口类(JApplet, JDialog, JFrame与JWindow)是由AWT重量级组件派生而来,。它们本身也依赖于本地窗口,除此以外,所有Swing组件都是轻量级组件。Swing的一个显著特点是用Swing实现的图形界面外观可以按需更换,而无需重写任何代码。这就让Swing程序能自动适应于它所运行的计算机的常规风格和外观,不需要程序员为特定的计算机开发特定的界面。事实上,这些外观不限于常见的几种机器,Swing可以开发新的外观风格。Swing中内置了几个观感包。例如,。Motif界面是一种常用的基于UNIX的界面。这些类知道如何画出每个组件,也知道如何响应鼠标、键盘以及其它和这些组件联系在一起的事件。。Java缺省的设计风格是“Java外观”(被称为“Metal”),它独立于任何一种窗口系统的Java外观。
AWT与Swing顶层窗口类之间的关系
Swing改善了AWT包没有弹性、缺乏效率的缺点,提供了更丰富的视觉感受,人们越来越多地使用Swing组件构建图形用户界面,在本书中给出的有关GUI程序中均使用Swing组件。
Swing组件
轻量级组件不是依靠本地组件来支持它的显示,而是完全由Java代码来绘制并显示。Swing平台无关的观感,是通过把所有负责画出一个组件的代码从组件中抽出来形成一个单独的类而实现的。例如,除了定义按钮控件的JButton类之外,还有一个单独的类负责把按钮在屏幕上画出来。画图的这个类将控制按钮的颜色、形状以及其它外面上的特征。 类,

第7章 图形用户界面 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数68
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-09-06