Java程序设计之swt教程Word文档下载推荐.docx

上传人:b****5 文档编号:18838398 上传时间:2023-01-01 格式:DOCX 页数:53 大小:51.46KB
下载 相关 举报
Java程序设计之swt教程Word文档下载推荐.docx_第1页
第1页 / 共53页
Java程序设计之swt教程Word文档下载推荐.docx_第2页
第2页 / 共53页
Java程序设计之swt教程Word文档下载推荐.docx_第3页
第3页 / 共53页
Java程序设计之swt教程Word文档下载推荐.docx_第4页
第4页 / 共53页
Java程序设计之swt教程Word文档下载推荐.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

Java程序设计之swt教程Word文档下载推荐.docx

《Java程序设计之swt教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java程序设计之swt教程Word文档下载推荐.docx(53页珍藏版)》请在冰豆网上搜索。

Java程序设计之swt教程Word文档下载推荐.docx

操作方法是:

在eclipse的包资源管理器中,右单击项目名→导入→常规→文件系统→下一步→浏览→选择DLL文件所在目录→确定→勾选DLL文件→完成。

导入SWT的原生库文件后,还要在eclipse的Java项目中配置构建路径,添加外部JAR,将文件加入到项目中,操作方法是:

在eclipse的包资源管理器中,右单击项目名→构建路径→配置构建路径→库(L)→添加外部JAR→在eclipse的plugins文件夹中找到该jar文件→打开→确定。

例4.1在Java应用程序中使用SWT的组件。

操作步骤:

新建一个Java项目,项目名为:

sample4_1。

采用方法三在项目中导入原生库文件。

配置构建路径,将加入到项目中。

eclipse包资源管理器可以看到导入的原生库文件和引入的jar文件,如图4.2所示。

在项目中新建一个类,文件名为HelloSWT.java。

在类文件中写入代码。

图4.2包资源管理器图4.3程序运行结果

HelloSWT.java文件内容如下:

packageedu.ch4;

import

classHelloSWT{

publicstaticvoidmain(String[]args){

Displaydisplay=newDisplay();

//创建一个display对象。

Shellshell=newShell(display);

//shell是程序的主窗体

shell.setLayout(null);

//设置shell的布局方式

Texthello=newText(shell,SWT.MULTI);

//声明一个可以显示多行信息的文本框

shell.setText("

Java应用程序"

);

//设置主窗体的标题

shell.setSize(200,100);

//设置主窗体的大小

Colorcolor=newColor(Display.getCurrent(),255,255,255);

//声明颜色对象

shell.setBackground(color);

//设置窗体的背景颜色

hello.setText("

Hello,SWTWorld!

\n\n你好,SWT世界!

"

//设置文本框信息

hello.pack();

//自动调整文本框的大小

//shell.pack();

//自动调整主窗体的大小

shell.open();

//打开主窗体

while(!

shell.isDisposed()){//如果主窗体没有关闭则一直循环

if(!

display.readAndDispatch()){//如果display不忙

display.sleep();

//休眠

}

}

display.dispose();

//销毁display

}

}

在包资源管理器中,右单击文件名HelloSWT.java→运行方式→Java应用程序,程序运行结果如图4.3所示。

该窗体具有典型的Windows风格。

分析本例的源代码,可以看到,创建一个典型的SWT应用程序需要以下步骤:

创建一个Display

创建一个或多个Shell

设置Shell的布局

创建Shell中的组件

用open()方法打开Shell窗体

写一个事件转发循环

销毁display

4.1.2SWT中的包

SWT是Eclipse图形API的基础,本节简单介绍一下SWT中常用的包。

1.dgets

最常用的组件基本都在此包中,如Button、Text、Label、Combo等。

其中两个最重要的组件是Shell和Composite。

Shell相当于应用程序的主窗体;

Composite是容纳组件的容器,相当于SWING中的Panel对象。

2.

主要的界面布局方式在此包中。

SWT对组件的布局也采用了AWT/SWING中的Layout和LayoutData结合的方式。

3.

对一些基本图形组件的扩展在此包中,比如其中的CLabel就是对标准Label组件的扩展,在CLabel上可以同时加入文字和图片。

在此包中还有一个新的布局方式StackLayout。

4.

SWT采用了和AWT/SWING一样的事件模型,在包中可以找到事件监听类和相应的事件对象。

比如,鼠标事件监听器MouseListener,MouseMoveListener等,及对应的事件对象MouseEvent。

5.

此包中包含针对图片、光标、字体或绘图API。

比如,可通过Image类调用系统中不同类型的图片文件。

6.

对不同平台,SWT有一些针对性的API。

例如,在Windows平台,可以通过此包很容易的调用OLE组件,这使得SWT程序也可以内嵌IE浏览器或Word、Excel等程序。

4.2SWT/JFace常用组件

SWT/JFace常用组件有按钮(Button类)、标签(Label类)、文本框(Text类)、下拉框(Combo类)和列表框(List类)等。

4.2.1按钮组件

按钮(Button)组件是SWT中最常用的组件,Button类的构造方法是:

Button(Compositeparent,intstyle)

该方法有两个参数:

第一个参数parent是指Button创建在哪一个容器上。

Composite(面板)是最常用的容器,Shell(窗体)继承自Composite,此参数也能接受Shell和任何继承自Compsite的类。

第二个参数style用来指定Button的式样。

SWT组件可以在构造方法中使用式样(style)来声明组件的外观形状和文字的式样。

SWT组件的构造方法和Button类相似,参数的含义也相同。

1.Button组件常用式样

SWT.PUSH:

按钮。

SWT.CHECK:

多选按钮。

SWT.RADIO:

单选按钮。

SWT.ARROW:

箭头按钮。

SWT.NONE:

默认按钮。

SWT.CENTER:

文字居中,与SWT.NONE相同。

SWT.LEFT:

文字靠左。

SWT.RIGHT:

文字靠右。

SWT.BORDER:

深陷型按钮。

SWT.FLAT:

平面型按钮。

一个Button也可以指定多个式样,只要将指定的各个式样用符号“|”连接起来即可。

如:

Buttonbt=newButton(shell,SWT.CHECK|SWT.BORDER|SWT.LEFT);

表示创建的按钮bt是一个复选按钮(CHECK),深陷型(BORDER)、文字左对齐(LEFT)。

2.Button组件的常用方法

setText(Stringstring):

设置组件的标签文字。

setBounds(intx,inty,intwidth,intheight):

设置组件的坐标位置和大小(x轴坐标,y轴坐标,组件宽度width,组件高度height)。

setEnabled(Booleanenabled):

设置组件是否可用。

true:

可用(默认值),false:

不可用。

setFont(Fontfont):

设置文字的字体。

setForeground(Colorcolor):

设置前景色。

setBackgrount(Colorcolor):

设置背景色。

setImage(Imageimage):

设置显示的图片。

setSelection(Booleanselected):

设置是否选中(仅对复选框或单选框有效)。

选中,false:

未选中(默认值)。

setToolTipText(Stringstring):

设置鼠标停留在组件上时出现的提示信息。

以上方法在其他组件中也可使用。

例4.2按钮示例。

按照例4.1的操作步骤建立项目、设置构建路径和引入原生库。

类Sample4_2.java源代码如下:

publicclassSample4_2{

//shell.setLayout(null);

按钮示例"

Buttonbt1=newButton(shell,SWT.NULL);

//创建默认按钮

bt1.setText("

SWT.NULL"

//设置按钮上的文字

bt1.setBounds(10,10,75,30);

//设置按钮显示位置及宽度、高度

Buttonbt2=newButton(shell,SWT.PUSH|SWT.BORDER);

//创建深陷型按钮

bt2.setText("

SWT.PUSH"

bt2.setBounds(90,10,75,30);

Buttoncheck1=newButton(shell,SWT.CHECK);

//创建复选按钮

check1.setText("

SWT.CHECK"

check1.setBounds(10,50,75,30);

Buttoncheck2=newButton(shell,SWT.CHECK|SWT.BORDER);

//创建深陷型复选按钮

check2.setText("

check2.setBounds(90,50,75,30);

Buttonradio1=newButton(shell,SWT.RADIO);

//创建单选按钮

radio1.setText("

SWT.RADIO"

radio1.setBounds(10,90,75,30);

Buttonradio2=newButton(shell,SWT.RADIO|SWT.BORDER);

//创建深陷型单选按钮

radio2.setText("

radio2.setBounds(90,90,75,30);

ButtonarrowLeft=newButton(shell,SWT.ARROW|SWT.LEFT);

//创建箭头按钮(向左)

arrowLeft.setBounds(10,130,75,20);

ButtonarrowRight=newButton(shell,SWT.ARROW|SWT.RIGHT|SWT.BORDER);

arrowRight.setBounds(90,130,75,20);

shell.pack();

shell.isDisposed()){//如果主窗体没有关闭

运行结果如图4.4所示。

图4.4按钮图4.5标签

4.2.2标签组件

标签(Label类)组件是SWT中最简单的组件。

Label类的构造方法和Button类相似,参数的含义与相同,格式如下:

Label(Compositeparent,intstyle)

Label类的常用式样有以下几种:

Label类常用的式样如下:

文字居中。

默认式样。

SWT.WRAP:

自动换行。

深陷型。

SWT.SEPARATOR:

分栏符,默认为竖线分栏。

SWT.HORIZONTAL:

横线分栏符。

例4.3标签示例。

publicclassSample4_3{

标签示例"

Labellb1=newLabel(shell,SWT.BORDER|SWT.RIGHT);

//深陷型、文字右对齐

lb1.setBounds(10,10,70,30);

lb1.setText("

标签1"

lb1.setFont(newFont(display,"

黑体"

14,SWT.BOLD));

//设置文字的字体字号

lb1.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));

Labellb2=newLabel(shell,SWT.CENTER);

//文字居中的标签

lb2.setBounds(90,10,70,30);

lb2.setText("

标签2"

lb2.setFont(newFont(display,"

宋体"

14,SWT.NORMAL));

Labellb3=newLabel(shell,SWT.SEPARATOR|SWT.BORDER);

//竖直分栏符

lb3.setBounds(10,50,70,30);

Labellb4=newLabel(shell,SWT.SEPARATOR|SWT.HORIZONTAL|SWT.BORDER);

//水平分栏符

lb4.setBounds(90,50,70,30);

程序运行结果如图4.5所示。

4.2.3文本框组件

文本框(Text类)的式样如下:

SWT.MULTI:

可以输入多行,须回车换行。

可以输入多行,到行尾后自动换行。

SWT.PASSWORD:

密码型,输入字符显示成“*”。

SWT.V_SCROLL:

带垂直滚动条。

SWT.H_SCROLL:

带水平滚动条。

例4.4各种文本框示例。

publicclassSample4_4{

文本框示例"

Texttext1=newText(shell,SWT.NONE|SWT.BORDER);

//带边框

text1.setBounds(10,10,70,30);

Texttext2=newText(shell,SWT.PASSWORD);

text2.setBounds(90,10,70,30);

Texttext3=newText(shell,SWT.MULTI|SWT.V_SCROLL|SWT.H_SCROLL);

text3.setBounds(10,50,70,70);

Texttext4=newText(shell,SWT.WRAP|SWT.V_SCROLL);

text4.setBounds(90,50,70,70);

运行结果如图4.6所示。

图4.6文本框图4.7下拉框

4.2.4下拉框组件

1.下拉框(Combo类)的式样

SWT.READ_ONLY:

只读。

SWT.SIMPLE:

无须单击下拉框,列表会一直显示。

2.下拉框(Combo类)的常用方法

add(Stringstring):

在Combo中增加一项。

add(Stringstring,intindex):

在Combo的第index项后插入一项。

deselectAll():

使Combo组件中的当前选择项置空。

removeAll():

将Combo中的所有选项清空。

setItems(String[]items):

将数组中的各项依次加入到Combo中。

select(intindex):

将Combo的第index+1项设置为当前选择项。

例4.5下拉框示例。

publicclassSample4_5{

privatestaticLabellb;

finalShellshell=newShell(display);

下拉框示例"

finalCombocombo=newCombo(shell,SWT.NONE);

combo.setBounds(10,10,100,25);

lb=newLabel(shell,SWT.WRAP);

//创建标签,可自动换行

lb.setBounds(120,10,100,35);

Buttonbt1=newButton(shell,SWT.NONE);

bt1.setBounds(20,60,100,25);

设值"

bt1.addSelectionListener(newSelectionAdapter(){

publicvoidwidgetSelected(SelectionEvente){//按钮的单击事件

combo.removeAll();

//清空combo

for(inti=1;

i<

=3;

i++){

combo.add("

第"

+i+"

项"

//循环添加选项

}

combo.select(0);

//设置默认选项

});

Buttonbt2=newButton(shell,SWT.NONE);

bt2.setBounds(130,60,100,25);

取值"

bt2.addSelectionListener(newSelectionAdapter(){

lb.setText("

你选择的是:

+combo.getText());

shell.isDisposed()){

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1