如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第4章SWT图形用户界面本章要点1.SWT程序开发步骤。2.SWT常用组件的使用。3.SWT的布局。4.SWT的事件处理。5.SWTDesigner简介。本章难点1.SWT常用组件的使用。2.SWT的布局。3.SWT的事件处理。4.1SWT/JFace简介SWT(StandardWidgetToolkit)即标准小窗口工具箱,是IBM公司推出的一种在Eclipse中使用的集成开发环境,SWT提供可移植的API,并与底层本机OSGUI平台紧密集成,它是一个与本地窗口系统集成在一起的小部件集和图形库。SWT由JNI(JavaNativeInterface,Java本机接口)调用操作系统的内部API,因此运行速度快,能够获得与操作系统的内部应用程序相同的外观。JFace是一个用户界面工具箱,也是一个易用、功能强大的图形包,它简化了常见的图形用户界面的编程任务。SWT和JFace都是Eclipse平台上的主要组件。JFace是在SWT的基础上创建的,但JFace并不能完全覆盖SWT的功能,JFace和SWT的关系如图4.1所示。由于JFace的功能更强大,因此做图形界面开发时一般优先选用JFace。图4.1JFace和SWT的关系4.1.1SWT程序开发步骤在eclipse的plugins目录下,找到文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,文件名中中3.2.1是eclipse的版本号,v3235是SWT的序列号,不同的eclipse版本这两个数字也不同。在DOS状态下,用jar命令将该文件解压,命令格式如下:jarxforg.eclipse.swt.win32.win32.x86_3.2.1.v3235.jarPDF文件使用"pdfFactory"试用版本创建www.fineprint.cn该命令将指定的文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar解压到当前目录下。解压后得到四个DLL文件:swt-win32-3235.dll,swt-awt-win32-3235.dll,swt-gdip-win32-3235.dll和swt-wgl-win32-3235.dll。这四个文件就是SWT的原生库文件。原生库文件为SWT通过JNI访问windows本地API提供了接口,为使Java程序在启动时能够访问这些文件,可以通过以下方法进行设置:方法一:将这四个DLL文件复制到jre的bin目录下。方法二:设置环境变量,在PATH中加入这几个dll文件所在的目录。方法三:在eclipse的Java项目中导入原生库文件。操作方法是:在eclipse的包资源管理器中,右单击项目名→导入→常规→文件系统→下一步→浏览→选择DLL文件所在目录→确定→勾选DLL文件→完成。导入SWT的原生库文件后,还要在eclipse的Java项目中配置构建路径,添加外部JAR,将文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar加入到项目中,操作方法是:在eclipse的包资源管理器中,右单击项目名→构建路径→配置构建路径→库(L)→添加外部JAR→在eclipse的plugins文件夹中找到该jar文件→打开→确定。例4.1在Java应用程序中使用SWT的组件。操作步骤:①新建一个Java项目,项目名为:sample4_1。②采用方法三在项目中导入原生库文件。③配置构建路径,将org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar加入到项目中。eclipse包资源管理器可以看到导入的原生库文件和引入的jar文件,如图4.2所示。④在项目中新建一个类,文件名为HelloSWT.java。⑤在类文件中写入代码。图4.2包资源管理器图4.3程序运行结果HelloSWT.java文件内容如下:packageedu.ch4;importorg.eclipse.swt.SWT;importorg.eclipse.swt.widgets.Display;importorg.eclipse.swt.widgets.Text;importorg.eclipse.swt.widgets.Shell;importorg.eclipse.swt.graphics.*;classHelloSWT{publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();//创建一个display