Java Swing开发模式

Java Swing开发模式

ID:40557612

大小:47.00 KB

页数:10页

时间:2019-08-04

Java Swing开发模式_第1页
Java Swing开发模式_第2页
Java Swing开发模式_第3页
Java Swing开发模式_第4页
Java Swing开发模式_第5页
资源描述:

《Java Swing开发模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章简 介  Java的基础类(JFC)是开发图形用户界面的API集。Java的基础类包括以下API:  ·抽象窗口工具包(版本1.1及以后的版本)。  ·2DAPI。  ·Swing组件。  ·可访问性API。  抽象窗口工具包(AbstractWindowToolkit,AWT)是Java开发用户界面最初的工具包。AWT是建立JFC的主要基础,《Java2图形设计,卷Ⅰ:AWT》对AWT有详细的介绍。  2DAPI提供了AWT所缺乏的附加图形功能。例如,AWT对图形操作只提供了一种规格的笔——即一个像素大小的正方形。而2DAPI除提供了不同大小的

2、笔外,还提供了丰富的二维着色能力。《GraphicJava2,VolumeIV:2DAPI》一书中对2DAPI有详细的介绍。  Swing是建立在AWT之上的(参见1.2节“轻量组件与重量组件的比较”中对轻量组件与重量组件比较的讨论)、包括大多数轻量组件的组件集。除提供了AWT所缺少的、大量的附加组件外,Swing还提供了替代AWT重量组件的轻量组件。Swing还包括了一个使人印象深刻的、用于实现包含插入式界面样式等特性的图形用户界面的下层构件。因此,在不同的平台上,Swing组件都能保持组件的界面样式特性,如双缓冲、调试图形和文本编辑包等。  可访问

3、性(Accessibility)API是一个类集,其中的类使Swing组件能够与用于残疾用户的援助技术交互。JFC还包括许多可访问性工具,这些工具与可访问性API联合使用。1.1Swing的历史  要了解Swing,首先必须了解AWT,AWT是Swing的基础。  Java的发展速度超出了人们的想象,JavaAPI中最可视的部分——API突然成为了人们关注的焦点。遗憾的是,原来的AWT不能满足发展的需要。  原来的AWT不是为许多开发人员使用的、功能强大的用户界面(UI)工具包而设计的,其设计目的是支持开发小应用程序中的简单用户界面。例如,原来的AWT

4、缺少许多面向对象UI工具包中所能见到的特性,例如,剪贴板、打印支持和键盘导航等特性在AWT中都不存在。原来的AWT甚至不包括弹出式菜单或滚动窗格等基本特性,而弹出式菜单和滚动窗格是开发现代用户界面的两个基本元素。  此外,AWT的下层构件还有严重的缺陷。人们使AWT适应基于继承的、具有很大伸缩性的事件模型。甚至更糟,基于对等组件(peer)的体系结构也被用于AWT,该体系结构注定要成为AWT的致命弱点。  为了尽快推向市场和保持本地的界面样式,于是产生了基于对等组件的体系结构,而该体系结构注定是要失败的。对等组件是完成薄弱的AWT对象所委托任务的本地用

5、户界面组件。对等组件负责完成所有的具体工作,包括绘制自己、对事件做出反应等,这使得AWT组件除了在适当的时间与其对等组件交互外无事可做。由于AWT类中是较复杂的本地对等组件的外壳,所以,AWT的早期开发人员能在最快的时间(原来的AWT是在不足六个星期的时间内开发出来的。)内创建组件。例如,java.awt.Panel类只包含十二行代码。  另外,对等组件的设计也有严重的缺点。首先,在大多数平台上,对等组件都是在本地窗口中绘制的。每个组件一个本地窗口实在不能得到高性能,为此,含有大量AWT组件的小应用程序付出了很高的性能代价。  把不同平台上的本地对等组

6、件硬塞进Java框架中也是一个问题,使这些AWT组件跨平台的表现一致是完全不可能的。结果,不但没有实现急需的新组件,而且开发时间都浪费在修补对等组件的错误上和不兼容问题上了。  更糟的是,AWT有很高的错误发生率。于是,第三方开始提供他们自己的工具包,这些工具包提供了更可靠的下层构件并提供了比AWT更多的功能。这些工具包之一是Netscape的Interner基础类(IFC),IFC是一组建立在NEXTSTEP中的用户界面工具包概念基础上的一组轻量类。IFC组件不是对等的,在许多方面胜过了AWT组件。IFC还吸引了更多的开发人员加盟。  由于认识到Ja

7、va领域很可能在标准用户界面工具包问题上出现分裂局面,Javasoft和Netscape达成了一个交易,共同实现Java基础类(Apple公司和IBM公司也参加了JFC的开发)。Netscape开发人员与Swing工程师一起合作,以便把大部分的IFC的功能嵌入到Swing组件中。  起初打算让Swing类似于Netscape的IFC。然而,随着时间的推移。在增加了插入式界面样式等特性并修改了设计之后,Swing大大地偏离了它原来的目标。随着Swing1.1版本的推出,虽然大量的IFC技术仍然嵌在Swing中,但是,Swing与IFC相似的部分已大部分消

8、失了。今天,在一个功能全面的用户界面工具包中,Swing提供了AWT和IFC中最优秀的成份。1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。