预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共73页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JavaSwing联系方式选用教材参考教材成绩评定课程学习基础先导知识命令行界面图形用户界面GUI的广泛应用是计算机发展的重大成就之一,极大方便了操作,使得不再需要死记硬背大量的操作命令。 取而代之的是:通过窗口、菜单、鼠标、按钮等方式来方便地进行软件操作。 另外,还有“嵌入式”GUI。GUI的组成GUI的准则◆API(ApplicationProgrammingInterface) 含义:应用程序接口; 说明:软件系统中,不同组成部分之间衔接的约定;JAVA图形界面设计开发工具概述Java世界中,目前最知名的三大GUI库分别是: 1、AWT(AbstractWindowToolkit) ---抽象窗口工具集,包含于所有的JavaSDK中。 2、Swing高级图形库 ---Java开发工具集,包含于Java2SDK中(JDK); ---JDK正式名称为J2SDK(Java2SoftwareDevelopKit)。 3、SWT(StandardWidgetToolkit) ---标准窗口部件库; ---来自于IBMEclipse开源,不包含于JDK中; ---需要从Eclipse单独下载。一、AWT介绍1、AWT的特点◆图形用户界面的跨平台移植比较困难 ---在不同系统平台上创建的组件,外观和感觉(look&feel)不一样。 ◆AWT采用对等设计模式 ---对每个组件(抽象组件)都引入一个对等体(peer)。 对等体:一种具有“本地”外观和感觉的GUI组件,负责本地计算机 的显示和管理工作,听从抽象组件的指挥。 或者通俗的说,对等组件就是指底层平台(如Windows操作系统)所实现的图形用户界面组件,因为操作系统本身也提供了窗体、对话框、按钮、菜单等组件。JavaAWT所以用AWT构造的Java应用程序,在Windows系统上运行将保持Windows的GUI风格,而拿到Sun工作站上运行则将具有Motif图形用户界面的风格……。 ---通过对等体构造与平台无关的GUI。AWT对等模式结构关系图22AWT对等模式的作用◆Java虚拟机 JavaVirtualMachine,简称JVM。 JVM是一个想象中的机器,在实际的计算机上通过软件模拟来实现。其有自己想象中的硬件(如处理器、堆栈、寄存器等),还具有相应的指令系统。 ◆GDI GraphicsDeviceInterface,图形设备接口。 负责系统与绘图程序之间的信息交换,处理所有程序在当前平台上的图形输出。Java虚拟机的特点4、AWT对等模式的缺陷5、AWT的组件AWT中的组件都是重量组件,或者说AWT组件都是对本地操作系统对等组件的“封装”。 重量组件的缺陷是开销大、效率低,每个组件都要单独调用底层操作系统的功能来独立绘制(显示),相当于在屏幕上开凿了许多个独立的窗口,因此没有办法实现组件的透明效果。 而且重量组件受到底层平台对等组件的限制,毕竟只是封装和调用了现有的组件,因此具有严重的平台相关性,即在不同操作系统上显示同一组件有可能不一致。正是由于AWT对等模式的体系结构存在的问题,不能完全保证在各种平台上组件的“外观和感觉”都一样。因此,1997年SUN和Netscape合作推出了JFC(JavaFoundationClasses)---Java基础类库。 JFC专指用于创建图形用户界面的JavaAPI,包括AWT、Java2DAPI(二维绘图API)、Swing组件集。JFC的核心部分是Swing用户界面组件,使用大量“轻量组件(lightweightcomponents)”替代AWT中的重量组件。 轻量组件是不具有对等体的组件,且是完全透明的(non-opaque)。 实际上,轻量组件是通过Java绘图技术,在其所处的“容器”上绘图得到的(画出来的),因此轻量组件可以实现绘图的效果,容易实现在不同操作系统平台上表现的一致性。而且组件的绘制和事件处理开销比重量组件小得多,因而轻量组件可以实现较高的程序运行效率。由于轻量组件不是自己“单独占有一个窗口”,最终还是要包含或绘制在别的组件上,因此Swing组件中几个顶级容器,如JFrame、JDialog、JApplet等都采用了重量组件作为顶级窗体,而其它都采用轻量组件。 我们从组件的运行效果上肉眼看不出有什么不同,但在实际开发中,除了顶层容器只能采用这种重量组件之外,内部并不建议重量或轻量组件的混用(不提倡AWT和Swing的组件混用),因为这样会导致兼容性的问题。可视化组件 凡是能够看得见,或有一定形状、尺寸、显示效果的组件,都可称为可视化组件。 相对于可视化组件也可以引入非可视化组件,不过非可视化组件应用较少,如我们在AWT工具集中使用的布局管理器FlowLayout、BorderLayout等,它们也起到了组