早就听说Eclipse的鼎鼎大名,浏览了好多关于Eclipse的文章,听说用SWT,JFace能设计出拥有本地操作系统界面风格的东东,如果在XP上运行,岂不是很让客户满意,近期要做个桌面系统,^_^....., 想Trying 下. 用Eclipse当然就要装上再说,这两天我是吃劲了苦头..., 下载了很多东西,读了很多文章,终于调通了,现在给大家分享下.我没有找到完整的安装攻略,现在就写一个最新的..... 建议您先浏览下Eclipse网站 http://www. 尤其是 Projects 连接, 其中的Eclipse Projiect, 和 Eclipse Tools Project. Eclipse (Eclipse SDK 最新的是3.0.2) 是一个平台,其中的JDT,PDE都是集成在Eclipse下载的,SWT,JFace开发包也是,不用关心太多,有些文章说的很多,反而让新手迷惑... Eclipse Tool Project 主要用到. Graphical Editor Framework (GEF) Project, EMF, VE 不要急于下载这些东东,我算是吃劲苦头...... 用Eclipse当然希望用它的可视化编程(Visual Edit Project) 插件. 现在最新的是 VE1.0.2.1下载页 http://www./vep/ 现看它的下载需求!!!!! 原来VE只能和相应版本的GEF,EMF,Eclipse SDK,一起工作,如果先前你下载了其他的高版本,都糟践的,关键是耽误自己的时间. 好了,攻略开始.建个下载文件夹. 下载VE(1.0.2.1) 在同一个页面的需求里下载 Eclipse SDK 3.0.1, EMF 2.0.1, GEF3.0.1 解压缩Eclipse SDK 3.0.1, 把解压缩里的 eclipse 文件夹拷贝到D:\ 看看里边的内容,主要是plugins,features 解压缩 EMF 到\emf 文件夹, 把emf\plugins 的东西都拷贝到d:\eclipse\plugins, emf\features 下的东西拷贝到d:\eclipse\features VE,GEF 操作同上... 重要的,Eclipse 3.0.1 需要 JDK1.4.2, 所以要先安装它.JDK的路径设置就不再说了.....\bin, \lib , \jdk1.4.2 由于运行SWT的程序用到本地库,因此拷贝 D:\eclipse\plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86 下的 *.dll 拷贝到 jdk路径下的 \bin 目录, 运行程序可以自动找到. 这些问题都困扰了我好长时间. 现在启动 d:\eclipse\eclipse.exe ^_^^_^,都OK了 eclipse 能自动认出你的JRE. 实战! 启动eclipse,看看welcome project 吧,不错... 界面很迷人! 新建一个项目 file->New->project 出来项目向导, 选择java project. ->next 输入project Name:Hello Eclipse自动给你建个workspace 工作文件夹,你的项目都存在这里的,d:\eclipse\workspace 点击结束. 一个新项目建成了. 添加SWT ToolKit, 菜单Project->Properties 选择左侧的 Java Build Path 选择 右侧的 Libraries 标签页, 点击 Add Library 按钮, 选择 Standard Widget Toolkit(SWT) 点击 Next , 选上 Include support for JFace library 结束.这样就可以使用 SWT Jface控件了. 选中你的project Hello. 选择新建图标按钮, 上端最左侧的. 选择 Visual Class ,点击Next , Source Folder 是缺省的 project folder, package 填入 test, Name 填入 FrmHello , 展开左侧的 SWT 选择 Shell, 勾选上 public static void main(String[] args), Constructors from superclass, Inherited abstract methods. 结束. Eclipse自动启动 VE.... 看看那些窗口... 比较熟悉.. 出现了可视化编辑窗口. 鼠标移到右侧的Palette(竖着的那个)把 一个Label,一个Button, 一个TextArea 放到shell上. 选中Label, 在下侧的Properties属性栏可以进行设置, >text 填入Hello World 选中 Button 在下侧的Properties属性栏可以进行设置, >text 填入Click Me. 选中 Button 右键, events->Add Events . 选择Mouse - MouseAdapter ->mouseDown. 相应的代码自动产生.添加如下代码(蓝色部分) 也可进行其他的风格设置, 但是如果JDK版本不对则不能操作.有错... 全部代码: /* * Created on 2005-4-20 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package test;
import org.eclipse.swt.widgets.Label; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Text; /** * @author w19284 * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class FrmHello {
private org.eclipse.swt.widgets.Shell sShell = null; // @jve:decl-index=0:visual-constraint="41,12" private Label label = null; private Button button = null; private Text textArea = null; /** * */ public FrmHello() { super(); // TODO Auto-generated constructor stub }
public static void main(String[] args) { /* Before this is run, be sure to set up the following in the launch configuration * (Arguments->VM Arguments) for the correct SWT library path. * The following is a windows example: * -Djava.library.path="installation_directory\plugins\org.eclipse.swt.win32_3.0.0\os\win32\x86" */ org.eclipse.swt.widgets.Display display = org.eclipse.swt.widgets.Display.getDefault(); FrmHello thisClass = new FrmHello(); thisClass.createSShell() ; thisClass.sShell.open();
while (!thisClass.sShell.isDisposed()) { if (!display.readAndDispatch()) display.sleep (); } display.dispose(); }
/** * This method initializes sShell */ private void createSShell() { sShell = new org.eclipse.swt.widgets.Shell(); label = new Label(sShell, SWT.NONE); button = new Button(sShell, SWT.NONE); textArea = new Text(sShell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); sShell.setText("Shell"); sShell.setBackground(org.eclipse.swt.widgets.Display.getDefault().getSystemColor(org.eclipse.swt.SWT.COLOR_TITLE_BACKGROUND_GRADIENT)); label.setBounds(new org.eclipse.swt.graphics.Rectangle(167,5,96,24)); label.setText("Hello World"); label.setBackground(org.eclipse.swt.widgets.Display.getDefault().getSystemColor(org.eclipse.swt.SWT.COLOR_INFO_BACKGROUND)); label.setFont(new org.eclipse.swt.graphics.Font(org.eclipse.swt.widgets.Display.getDefault(), "Times New Roman", 12, org.eclipse.swt.SWT.BOLD)); button.setBounds(new org.eclipse.swt.graphics.Rectangle(152,34,123,24)); button.setText("Click Me"); button.setFont(new org.eclipse.swt.graphics.Font(org.eclipse.swt.widgets.Display.getDefault(), "Times New Roman", 14, org.eclipse.swt.SWT.NORMAL)); textArea.setBounds(new org.eclipse.swt.graphics.Rectangle(64,70,323,123)); sShell.setSize(new org.eclipse.swt.graphics.Point(451,232)); button.addMouseListener(new org.eclipse.swt.events.MouseAdapter() { public void mouseDown(org.eclipse.swt.events.MouseEvent e) { System.out.println("mouseDown()"); // TODO Auto-generated Event stub mouseDown() textArea.setText(textArea.getText() + "|Hello,Eclipse"); } }); } } 好了,大功马上告成. 选择运行图标, toolBar 上的绿色按钮旁边的黑下箭头.选择->run.., 选择左侧的java Application 点击下面的新建. 选择中间Main标签页, Project 选择Hello , Main class: 选择test.FrmHello. 点击 run 按钮. 界面出来了...., 以后你就可以直接点击Run图标,运行这个程序. 点击Click Me 看看TextArea的变化...
|