Java程序设计之swt教程

上传人:飞****9 文档编号:132059657 上传时间:2020-05-12 格式:DOC 页数:43 大小:1.10MB
返回 下载 相关 举报
Java程序设计之swt教程_第1页
第1页 / 共43页
Java程序设计之swt教程_第2页
第2页 / 共43页
Java程序设计之swt教程_第3页
第3页 / 共43页
Java程序设计之swt教程_第4页
第4页 / 共43页
Java程序设计之swt教程_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Java程序设计之swt教程》由会员分享,可在线阅读,更多相关《Java程序设计之swt教程(43页珍藏版)》请在金锄头文库上搜索。

1、第4章 SWT图形用户界面本章要点1 SWT程序开发步骤。2 SWT常用组件的使用。3 SWT的布局。4 SWT的事件处理。5 SWT Designer简介。本章难点1 SWT常用组件的使用。2 SWT的布局。3 SWT的事件处理。4.1SWT/JFace简介SWT(Standard Widget Toolkit)即标准小窗口工具箱,是IBM公司推出的一种在Eclipse中使用的集成开发环境,SWT提供可移植的API,并与底层本机OS GUI平台紧密集成,它是一个与本地窗口系统集成在一起的小部件集和图形库。SWT由JNI(Java Native Interface,Java本机接口)调用操作系

2、统的内部API,因此运行速度快,能够获得与操作系统的内部应用程序相同的外观。JFace是一个用户界面工具箱,也是一个易用、功能强大的图形包,它简化了常见的图形用户界面的编程任务。SWT和JFace都是Eclipse平台上的主要组件。JFace是在SWT的基础上创建的,但JFace并不能完全覆盖SWT的功能,JFace和SWT的关系如图4.1所示。由于JFace的功能更强大,因此做图形界面开发时一般优先选用JFace。 图4.1 JFace和SWT的关系4.1.1 SWT程序开发步骤在eclipse的plugins目录下,找到文件org.eclipse.swt.win32.win32.x86_3

3、.2.1.v3235.jar,文件名中中3.2.1是eclipse的版本号,v3235是SWT的序列号,不同的eclipse版本这两个数字也不同。在DOS状态下,用jar命令将该文件解压,命令格式如下:jar xf org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar该命令将指定的文件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和s

4、wt-wgl-win32-3235.dll。这四个文件就是SWT的原生库文件。原生库文件为SWT通过JNI访问windows本地API提供了接口,为使Java程序在启动时能够访问这些文件,可以通过以下方法进行设置:方法一:将这四个DLL文件复制到jre的bin目录下。方法二:设置环境变量,在PATH中加入这几个dll文件所在的目录。方法三:在eclipse的Java项目中导入原生库文件。操作方法是:在eclipse的包资源管理器中,右单击项目名导入常规文件系统下一步浏览选择DLL文件所在目录确定勾选DLL文件完成。导入SWT的原生库文件后,还要在eclipse的Java项目中配置构建路径,添加

5、外部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包资源管理器可以看到

6、导入的原生库文件和引入的jar文件,如图4.2所示。 在项目中新建一个类,文件名为HelloSWT.java。 在类文件中写入代码。 图4.2 包资源管理器 图4.3 程序运行结果HelloSWT.java文件内容如下:package edu.ch4;import org.eclipse.swt.SWT;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Text;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.graphics.*;

7、class HelloSWT public static void main(String args) Display display=new Display();/创建一个display对象。Shell shell=new Shell(display);/shell是程序的主窗体shell.setLayout(null); /设置shell的布局方式Text hello=new Text(shell,SWT.MULTI); /声明一个可以显示多行信息的文本框shell.setText(Java应用程序); /设置主窗体的标题shell.setSize(200,100); /设置主窗体的大小C

8、olor color=new Color(Display.getCurrent(),255,255,255);/声明颜色对象shell.setBackground(color); /设置窗体的背景颜色hello.setText(Hello, SWT World!nn你好,SWT世界!);/设置文本框信息hello.pack(); /自动调整文本框的大小/shell.pack(); /自动调整主窗体的大小shell.open(); /打开主窗体while(!shell.isDisposed() /如果主窗体没有关闭则一直循环if(!display.readAndDispatch() /如果dis

9、play不忙display.sleep(); /休眠display.dispose(); /销毁display在包资源管理器中,右单击文件名HelloSWT.java运行方式Java应用程序,程序运行结果如图4.3所示。该窗体具有典型的Windows风格。分析本例的源代码,可以看到,创建一个典型的SWT应用程序需要以下步骤:创建一个Display创建一个或多个Shell设置Shell的布局创建Shell中的组件用open()方法打开Shell窗体写一个事件转发循环销毁display4.1.2 SWT中的包 SWT是Eclipse图形API的基础,本节简单介绍一下SWT中常用的包。1org.ec

10、lipse.swt.widgets最常用的组件基本都在此包中,如Button、Text、Label、Combo等。其中两个最重要的组件是Shell和Composite。Shell相当于应用程序的主窗体;Composite是容纳组件的容器,相当于SWING中的Panel对象。2org.eclipse.swt.layout主要的界面布局方式在此包中。SWT对组件的布局也采用了AWT/SWING中的Layout和Layout Data结合的方式。3org.eclipse.swt.custom对一些基本图形组件的扩展在此包中,比如其中的CLabel就是对标准Label组件的扩展,在CLabel上可以同

11、时加入文字和图片。在此包中还有一个新的布局方式StackLayout。4org.eclipse.swt.eventSWT采用了和AWT/SWING一样的事件模型,在包中可以找到事件监听类和相应的事件对象。比如,鼠标事件监听器MouseListener,MouseMoveListener等,及对应的事件对象MouseEvent。5org.eclipse.swt.graphics此包中包含针对图片、光标、字体或绘图API。比如,可通过Image类调用系统中不同类型的图片文件。6org.eclipse.swt.ole.win32对不同平台,SWT有一些针对性的API。例如,在Windows平台,可以

12、通过此包很容易的调用OLE组件,这使得SWT程序也可以内嵌IE浏览器或Word、Excel等程序。4.2 SWT/JFace常用组件 SWT/JFace常用组件有按钮(Button类)、标签(Label类)、文本框(Text类)、下拉框(Combo类)和列表框(List类)等。 4.2.1 按钮组件按钮(Button)组件是SWT中最常用的组件,Button类的构造方法是:Button(Composite parent,int style)该方法有两个参数:第一个参数parent是指Button创建在哪一个容器上。Composite(面板)是最常用的容器,Shell(窗体)继承自Composi

13、te,此参数也能接受Shell和任何继承自Compsite的类。第二个参数style用来指定Button的式样。SWT组件可以在构造方法中使用式样(style)来声明组件的外观形状和文字的式样。SWT组件的构造方法和Button类相似,参数的含义也相同。1Button组件常用式样SWT.PUSH:按钮。SWT.CHECK:多选按钮。SWT.RADIO:单选按钮。SWT.ARROW:箭头按钮。SWT.NONE:默认按钮。SWT.CENTER:文字居中,与SWT.NONE相同。SWT.LEFT:文字靠左。SWT.RIGHT:文字靠右。SWT.BORDER:深陷型按钮。SWT.FLAT:平面型按钮。

14、一个Button也可以指定多个式样,只要将指定的各个式样用符号“|”连接起来即可。如:Button bt=new Button(shell,SWT.CHECK|SWT.BORDER|SWT.LEFT);表示创建的按钮bt是一个复选按钮(CHECK),深陷型(BORDER)、文字左对齐(LEFT)。2Button组件的常用方法setText(String string):设置组件的标签文字。setBounds(int x,int y,int width,int height):设置组件的坐标位置和大小(x轴坐标,y轴坐标,组件宽度width,组件高度height)。setEnabled(Bool

15、ean enabled):设置组件是否可用。true:可用(默认值),false:不可用。setFont(Font font):设置文字的字体。setForeground(Color color):设置前景色。setBackgrount(Color color):设置背景色。setImage(Image image):设置显示的图片。setSelection(Boolean selected):设置是否选中(仅对复选框或单选框有效)。true:选中,false:未选中(默认值)。setToolTipText(String string):设置鼠标停留在组件上时出现的提示信息。以上方法在其他组件中也可使用。例4.2 按钮示例。按照例4.1的操作步骤建立项目、设置构建路径和引入原生库。类Sa

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

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

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