第11章 Java GUI概论.ppt

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

第五篇 Java 图形用户界面程序设计 第9章 Java GUI概论 9 第10章 Java版面配置 第11章 事件处理 第12章 Applet 与JApplet 第13章 Swing初阶 第9章 Java GUI概论 Java是一种以Internet为运作范围的软件平台。为了达到同一支Java程序能在各式操作系统下通行无碍,也就是Write once,run aynwhere的理想目标,首先就必须在各式操作平台的图形用户接口(GUI,Graphic User Interface)上有突破性的设计。在Java出现以前,各家的操作平台像Mac、Windows、Linux、Unix、Solaris、OS2等各有其特有的图形用户接口,在一种平台上写出来的程序不能应用到别的平台上。但是这种以操作系统为藩篱的情形,到了Java的出现后便有了很大的改观。 AWT(Abstract Windows Toolkit) Java达到在图形接口上平台独立(platform independence)的实现方法,初期乃是借着一种窗口开发类库,叫作AWT(Abstract Windows Toolkit)来达成。AWT提供了基本的用户接口组件,如label,button,menu,lists等。另外也提供事件处理机制,支持clipboard及数据转换(datatransfer)以及图像操作。AWT是由下列包所组成的。 AWT与Peers AWT并非真正提供图形接口组件,它只是一组通用的类且无关于特定平台。在一特定平台上,它乃是通过此特定平台的代理Peers来呈现。Peers是本地(Native)GUI组件,由AWT来操控。程序开发者并不太需要真的去控管Peers,AWT会自己来控管,Peers对程序开发者是隐而不见的。各平台所产生的peer与各平台有关。 AWT相当委权(delegate)于Peers的机能(functionality)。例如当你借AWT来产生一个Farme的实例时,Java Runtime Environment就制作了一个Frame的 peer实例。真正被操作的是此Frame peer,且其功能也仅限于此Frame peer所具有的。不同平台上的J2SDK就会产生不同的Frame peer。 范例9_1:Frame测试 import java.awt.*;? public class Frame1 extends Frame {//本类继承//Frame //声明为static才能在static void main()中被使用 static Button btn1=new Button(按钮1); static Button btn2=new Button(按钮2); static Panel panel=new Panel(); public static void main(String[] args) { Frame1 frame11 = new Frame1();//产生一个本 //类的实例frame1 范例9_1:Frame测试 AWT与Swing 利用AWT及Peers的概念来实现跨平台的接口设计理念,在理念上是很好的,但在实行上却因各平台的特性而产生许多缺点与臭虫。而且AWT只提供一些较基本的接口组件,若对于企业界复杂的接口需要就不敷使用。例如像在上一个范例中,Button就只能长得像那样子,没办法改变。因此到了Java2以后,AWT的组件就被另一组更强韧、多用途、更富弹性的组件类库——Swing所取代。Swing到底是什么呢?在J2SDK里面Demo/jfc/SwingSet2有绝佳的Swing展示程序,我们先来看看其效果如何,便会有些概念。 Heavyweight与Lightweight组件 大部分的Swing组件是用Java码直接在画布(canvas)上画出来的。除了少数的组件是例外-java.awt.Window的子类: JWindow,JFrame,JDialog及java.awt.Panel的子类:JApplet(请参考下面的AWT与Swing关系图)。Swing组件较不依赖目标平台,且使用较少的Native GUI资源。因此,那些不倚赖Native GUI的Swing组件就被称为lightweight(轻量级)组件,而AWT组件就被称为heavyweight(重量级)组件。 Heavyweight与lightweight组件用起来感觉有何不同,我们看一个展示就可更清楚其间的差异。 AWT与Swing关系图

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档