
准备工作:
1、下载JDK;
2、下载Eclipse;
3、下载相应的EMF、GEF、VE;
开始安装:
1、安装JDK;
这个比较容易,标准的Windows安装程序,下一步,再下一步即可,安装完成后,也不需要重启。
2、安装Eclipse;
Eclipse是绿色软件,不需要安装,只需要解压缩,然后即可运行。
为了说明方便,我把它解压缩到C盘根目录下,得到C:\eclipse目录,运行C:\eclipse\eclipse.exe即可。
注意:下面的安装,需要先关闭eclipse程序。
3、安装EMF、GEF、VE;
对于Eclipse来说,这些都是它的插件,所以,安装方法都是一样的。插件下载地址http://download.eclips.org/ve
A、在C:\eclipse目录下,建立四个子目录:C:\eclipse\emf、C:\eclipse\gef、C:\eclipse\ve、C:\eclipse\links;
B、把下载的EMF、GEF、VE都解压缩到相应的目录中,即:把EMF压缩包解压缩到C:\eclipse\emf中,得到C:\eclipse\emf\eclipse目录,以此类推,完成GEF、VE的解压缩;
C、在C:\eclipse\links目录下,新建一个文本文件,名字可随便取,如:link.txt。
然后在link.txt文件中,加入以下三行文字:
path=emf
path=gef
path=VE
1. 为什么要使用SWT?
SWT是一个IBM开发的跨平台GUI开发工具包。至于为什么IBM要费劲自己另起炉灶开发一个GUI工具包,而不是使用Sun现有的由AWT, Swing, Java 2D, Java 3D等构成的Java GUI框架,那就说来话长了。(记得在一个BBS上读过一个关于SWT起源的调侃类的帖子)。
在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract Windowing Toolkit)。虽然AWT框架也使用的是原生窗口部件(native widgets),但是它一直未能突破LCD问题。LCD问题导致了一些主要平台特征的遗失。如果你不明白的话(其实我也没明白),换句话说,如果平台A有窗口部件(widgets)1–40,而平台B有窗口部件(widgets)20–25,那么跨平台的AWT框架只能提供这两个窗口部件集的交集。
为解决这个问题,Sun又创建了一个新的框架。这个框架不再使用原生窗口部件,而是使用仿真窗口部件(emulated widgets)。这个方法虽然解决了LCD问题,并且提供了丰富的窗口部件集,但是它也带来了新的问题。例如,Swing应用程序的界面外观不再和原生应用程序的外观相似。 虽然在JVM中这些Swing应用程序已经得到了程度的性能改善,但是它们还是存在着其原生对应物所不具有的性能问题。并且,Swing应用程序消耗太多的内存,这样Swing不适于一些小设备,如PDA和移动电话等。
IBM进行了尝试以彻底解决AWT和Swing框架带来的上述问题。最终,IBM创建了一个新的GUI库,这就是SWT。SWT框架通过JNI来访问原生窗口部件。如果在宿主(host)平台上无法找到一个窗口部件,SWT就会自动地模拟它。
2. SWT应用程序的组成
一个SWT应用程序的基本组成部分为显示界面(Display)、命令界面(Shell,使命令进入并使运行初始化)和窗口部件(Widgets)。Display负责管理事件循环和控制UI线程和其他线程之间的通讯。Shell是应用程序中被 *** 作系统窗口管理器管理的窗口。每个SWT应用程序至少需要一个Display和大于等于1个的Shell实例。
从不同的角度展示了SWT应用程序。展示了UI对象的容器结构(containment structure)。
如果一个应用程序使用了多个线程,那么每个线程都使用的是Display对象分配给它自己的实例。程序员可以使用静态方法Display.getCurent()来得到Display对象的当前活动的实例。
Shell用于在特定的 *** 作系统中表现窗口。Shell可以化、最小化或正常化。Shell有两种类型。第1种是高层shell,它是Display的子窗口,同时它也是一个主窗口。第2类是对话shell,这种shell要依赖于其他的shell窗口存在。shell窗口最终成为上述那种类型,要看在创建shell时传递给shell构造函数的是什么风格位(style bits)。一个shell的默认值是DialogShell。也就是说,如果不带参数,那默认就是一个对话shell。而如果给参数赋予了一个Display对象,则该shell将是一个高层shell。
一些窗口部件的属性必须在创建它们的初期就要被设置。这些窗口部件的属性就是前面所说的风格位(style bits)。在SWT的类中,风格位被定义为常数。例如,Button button = new Button( shell, )。可以使用或(OR) *** 作符“|”来设置多个风格位。例如,如果想设置一个带边界的压下按钮,需要传递SWT.PUSH | SWT.BORDER作为风格位参数。
你的意思是说用Eclipse编出一个图形化的小程序来吗?其实Eclipse只是一个IDE环境,也有各种版本,我用的两个是Helios和Galileo(是在Linux下的)。因为插件不同所以支持的语言也不一样。现在一般用Java写东西的时候用Eclipse比较多,如果你是想用Java写桌面应用程序的话,实际上执行编译源码工作的是jdk,而不是eclipse(而正巧Eclipse本身就是用Java写的)。Java编写桌面应用程序叫作Swing。由于各种原因现在用的并不是很多,下面我提供一小段源代码!如下:\x0d\x0aimport javax.swing.JFrame\x0d\x0aimport javax.swing.JLabel\x0d\x0a\x0d\x0apublic class MySwing extends JFrame {\x0d\x0a//定义构造器\x0d\x0apublic MySwing(){\x0d\x0athis.setLayout(null)//设置布局管理器\x0d\x0aJLabel jl = new JLabel()//定义一个标签\x0d\x0ajl.setText("第一个Swing程序")//设置显示文字\x0d\x0ajl.setBounds(50,50,400,50)//设置标签的大小和位置\x0d\x0athis.add(jl)//将标签放到窗口中\x0d\x0athis.setBounds(200,250,500,200)//设置窗口的大小和位置\x0d\x0athis.setVisible(true)\x0d\x0a}\x0d\x0a\x0d\x0apublic static void main(String[] args) {\x0d\x0aMySwing s = new MySwing()\x0d\x0a}\x0d\x0a}\x0d\x0a//结束\x0d\x0a以上的这段代码就是产生一个小窗体,你在你的项目里建一个名字叫MySwing的类,把这段代码粘进去就可以运行了(默认是缺省包)。你也可以直接复制到记事本里直接用JDK编译运行,也不难,你可以再查一下!上面那个类是继承了javax.swing包下的JFrame类,也可以实例化一个对象,效果是相同的。你可以试一下,上面的那段代码我写完后已经亲自试过了,没有问题!欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)