Java图形类库

上传人:工**** 文档编号:508549643 上传时间:2022-08-02 格式:DOC 页数:15 大小:33KB
返回 下载 相关 举报
Java图形类库_第1页
第1页 / 共15页
Java图形类库_第2页
第2页 / 共15页
Java图形类库_第3页
第3页 / 共15页
Java图形类库_第4页
第4页 / 共15页
Java图形类库_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java图形类库》由会员分享,可在线阅读,更多相关《Java图形类库(15页珍藏版)》请在金锄头文库上搜索。

1、图形类库概述 1994年,全球信息网的迅猛发展为Jav提供了良好的契机。Jv的初次公开露面始于网页上一种小小的转动着的咖啡杯。这个Java plet的浮现打破了eb站点沉寂的风格,为原本以静态文字和图片为主的互联网世界带来了新的生机和情趣。经历了几年的发展,va已经从最初的eb页面修饰工具发展成如今的nternet/nranet计算平台。Java的应用也已经不仅仅局限于客户端,由于针对服务器端应用的Java技术的推出,如ervlet、RM、公司JvaBeas等等,更多的开发人员开始使用Java开发和部署公司核心任务应用。 Jva的广泛应用,除可以归因于其强大的跨平台特性、内在的安全机制及其分布

2、式计算等特性外,Jva提供的图形类库也可以说功不可没。Sun公司在其发布的初期ava版本J1.0中就提供了a图形类库AW(抽象视窗工具库),用于图形顾客界面的开发。在JDK.1中AT又不断地得以改善。此后,为满足商业化应用对图形顾客界面的更高规定,Sn公司与etsce、IB公司合伙共同开发了新一代Jva图形类库FC(va基本类)。 本文将简介Jva图形类库的基本概念、构造及编程措施。我们将从AW入手,简介WT的组件、布局管理及事件解决机制。并以此为基本,简介JC的体系构造及其各个构成部分,其中会具体简介Sw组件的组件模型及其特性。 AW简介AWT是va提供的面向对象的图形顾客接口框架,可用于生

3、成现代的、鼠标控制的图形应用接口,这并不是Java自身的创新。但是,用Jav设计和实现的GUI无需修改,就可以在多种软硬件平台上运营,这才是Java极具革命意义的地方。 但是,这并不意味着WT呈现给你的是一种全新的GUI风格。如果你已经习惯了Winows的图形顾客界面,或者是Mtf的图形顾客界面,那么AW尊重你的这种习惯。在AWT中,每一种可视化的GI组件均有一种本地的对等端(native pee),负责该组件的显示与外观。因此用W构造的Ja应用程序,在PC机的Wndows系统上运营将保持Windows的UI风格,而拿到Sn工作站上运营则将具有Moif图形顾客界面的风格。 GUI组件 AWT提

4、供了构造图形顾客界面所需要的基本GI组件。这些GUI组件由jva.awt包中相应的类来表达,并通过它进行访问和使用。jav.awt包是java基本包中最大的一种包,其中定义了所有UI组件类,以及其她用于构造图形顾客界面的类,如字体类Fot,绘图类Graphcs和图像类mae等。W所提供的GI组件大体分为三类,即容器组件、基本组件和菜单组件。 容器组件所谓容器组件,是指可以涉及其她组件的组件。一种设计良好的顾客界面应当是高度构造化的,而不是某些简朴GUI组件的无序组合。而容器组件恰恰有助于实现GUI的构造化。 A中提供的容器组件有Pel、Windw、Frame、Dialog。其中Pl没有具体的图

5、形表达,但它却是实现GUI构造化的一种至关重要的组件。我们一般用它来实现UI基本组件的组合;Fae则定义了一种涉及标题条、系统菜单栏、最大化最小化按钮及可选菜单条的完整的窗口;而Dial重要用于实现应用程序与顾客的信息交流。 上述的容器组件虽然功能各异,但是它们均有一种共同的特点:即可以涉及其她UI组件。然而容器组件是如何管理所涉及的GUI组件,如何拟定这些组件的位置和大小的呢?这就波及到AT中一种很重要的概念布局管理。采用布局管理与Jaa语言的跨平台特性密切有关。由于不同平台显示文字、图形的方式并不相似,如果显式地指定一种组件的绝对位置和大小,那么它在某一种平台上可以正常显示,而在其她平台上

6、的显示效果却也许不尽人意。因此,AWT中定义了布局管理器接口ayouMager,LayoutMaage的实现类可以自动根据运营平台的不同来布置所有可视化GUI组件。 容器组件既可以使用缺省的布局管理器,也可以通过setayout措施来设立所需要的布局管理器。一旦拟定了布局管理方式,容器组件就可以使用相应的add措施向其中加入其她GU组件。 布局管理器 WT提供了如下5种原则布局管理方式,即个LotManager的实现类: FlowLayot:流式布局管理是WT中最简朴的一种布局管理措施。顾名思义,它是以一种流程式的方式,自左向右、自上而下地布置容器中所涉及的GUI组件。开发人员只需调用setL

7、ayout措施将容器组件的布局管理方式设立为流式布局管理,然后调用ad(Componentcop)措施将组件加入到容器中即可。Pane缺省的布局管理方式就是FlowLayot。 orderLaout:BordLaout用类似于地理区域的方式管理GUI组件的布局,你可以向5个区域中加入相应的UI组件。Borrot是Frae和Dlo的缺省布局管理方式。与wLyou不同的是,如果使用oerLyou进行布局管理,那么在加入GUI组件的时候,就需要明确指出加入的位置,例如: etLayu( ne BorderLyut() ); a(Cnte, euto(tt) ); Cardyou:adLyou提供了一

8、种基于卡片式的布局管理方式。在AWT应用中,可以将某一GUI组件加入到一种指定名字的卡片中,例如: setLayou( new ardLayut() ); add(CadNam, newButon(ard 1) ); 这里,卡片名字是唯一的,可用于引用相应的卡片。一般而言,加入到卡片中的GI组件一般是Pane对象,由于Panl对象又可以涉及其她I组件,并按照其自身的布局管理方式来管理它们。为便于在一组卡片之间来回切换,CardLayout定义了一系列措施,如frst、net、preious、shw等。 GidLaot:Gridayou提供了一种基于栅格的布局管理方式。栅格的行数和列数可以在创立

9、ridLayout对象时指定。采用Gridyou进行布局管理,容器中的每个组件将占据大小完全相似的一种栅格。向栅格中布置GI组件有两种措施:一种是使用缺省的布置顺序,即采用ad(Copen comp)措施按照从左向右、从上到下的顺序加入GI组件;二是采用ad(ompoenmp,nt ndex)将组件加入到指定的栅格中。 GridagLayout:GiBagayout是建立在ridLaout之上的一种布局管理方式。较irdayou而言,GridBagaot更复杂,也更灵活,容器中的每一种组件可以占据一种或多种持续的栅格。GrBagLaout布局管理器是借助于类GridBgCnsrants来限制每

10、个组件所占据的横向和纵向栅格的个数。 基本GUI组件 基本GUI组件是构成顾客界面的基本元素。这些GU组件不能独立存在和显示,而必须先将之加到容器组件中。在ja.aw包中定义的基本GUI组件类有:Bu、Canvs、Chekbox、Choe、Lbe、List、ScollBar、TxtField和Tetrea。 所有的基本组件类都是Component类的子类。Component类中定义了所有GUI组件共有的属性和措施。 作为Cmpnet的子类,所有基本U组件类均可以继承Conen类中定义的属性和措施。除此之外,每一种组件类中又均有针对自身应用特点而定义的属性和措施。 菜单组件 Ja中的菜单组件是一

11、类特殊的组件。同其她GU组件不同,菜单组件并不是Compnen类的子类,而是从MenuCoponen类中派生出来的。这也就是说菜单组件是不能通过d措施加入到容器组件中去的。在WT中,菜单系统是通过此外一种联系机制加入到窗口中的,即Frame类的tMenuar(MenuB mbar)措施。 AWT中定义的菜单组件有四类:MenuBr, u,Menem和 ChckboxMnuIem。ear是窗口的菜单条,其中定义了dd措施,用于向菜单条中加入子菜单Mu和菜单项ntem;Menu是子菜单,它可以通过add措施来组合Mnute和其她子菜单;而Menutem则是最基本的菜单项,MenuIem尚有一种特殊

12、的实例CheckoxenuItem,重要用来表达菜单项的开关状态。通过AW定义的这四个菜单组件,我们可以创立一种完整的菜单系统。 AWT事件解决 前面简要简介了AW提供的UI组件。那么,是不是有了GI组件就可以构造一种应用系统的顾客界面呢?答案与否认的,由于这样构造出来的图形顾客界面是无法与顾客交互的,一种完整的顾客界面系统还必须具有事件解决能力。 从JDK1.0到JDK1.,AW的事件解决机制有了很大的变化。在1.1中,AWT采用了一种新的事件解决模型代理事件模型。较JDK.中的事件解决模型而言,新的事件解决模型不仅更为灵活,并且完全支持aaBea。 T的代理事件模型中有如下三个角色: 事件

13、源:即产生或发出事件的对象。例如,顾客点击了图形顾客界面上的一种按钮,按钮就会产生一种鼠标按下的事件。此时,按钮就是事件源。 事件:WT中定义了多种事件类,如鼠标事件(MusEvent)和窗口事件(WindoEen)等。 事件监听器:事件监听器用于监听某类事件的发生。它通过调用事件源中定义的dxxxListeer措施(xxx代表某类事件),来登记所需监听的事件。当该事件源发出此类事件时,事件监听器就会得到告知。在AWT中,事件监听器是avawt.vnt包中的一类接口,其中定义了被监听的事件发生时,系统要调用的措施。 新一代va图形类库F T提供了构造pplet和aplicaton图形顾客界面的

14、基本类库。通过采用“本地对等端”(natier)模型,即AT中的每一种可视化I组件均有一种相应的本地对等端来负责它的显示与外观,从而解决了跨多种软硬件平台显示GUI的问题,为Jaa最初的成功奠定了基本。 AW的“本地对等端”模型,满足了当时开发人员但愿Ja在不同平台上运营时,具有本地显示风格的规定,但同步也带来了某些问题: “本地对等端”模型给GI的绘画和事件解决带来了诸多限制,使得某些方面的GU编程很难实现:如采用透明背景色、变化GU组件外形为其她形状等。 WT提供的是本地显示风格,但是随着Irnet的普及,更多的开发人员但愿网络应用可以具有一致的显示风格。为解决AWT的“本地对等端”模型带来的问题,Sn公司与Netspe、I合伙共同开发了新一代Jva图形类库JF(ava Founatin lss)。JFC事实上是AW的超集,它提供了更丰富的GU组件和更强的图形/图像解决能力,并且J完全向下兼容AT的应用。JFC的发布,使得Ja在开发客户端应用方面又向前迈进了一大步。目前,JC的版本是JFC.1,它不仅可以作为一种单独的包下载,并且已经成为DK12的核心部分。 与W相比,JFC提供了更丰富的I组件,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号