当前页面: 开发资料首页 → Eclipse 专题 → Eclipse实用教程(VE插件使用详解)
摘要: Eclipse实用教程(VE插件使用详解)
早就听说Eclipse的鼎鼎大名,浏览了好多关于Eclipse的文章,听说用SWT,JFace能设计出拥有本地操作系统界面风格的东东,如果在XP上运行,岂不是很让客户满意,近期要做个桌面系统,^_^....., 想Trying 下.
用Eclipse当然就要装上再说,这两天我是吃劲了苦头..., 下载了很多东西,读了很多文章,终于调通了,现在给大家分享下.我没有找到完整的安装攻略,现在就写一个最新的..... 建议您先浏览下Eclipse网站 http://www.eclipse.org ;尤其是 Projects 连接, 其中的Eclipse Projiect, 和 Eclipse Tools Project.
Eclipse (Eclipse SDK 最新的是
Eclipse Tool Project 主要用到. Graphical Editor Framework (GEF) Project, EMF, VE
不要急于下载这些东东,我算是吃劲苦头......
用Eclipse当然希望用它的可视化编程(Visual Edit Project) 插件. 现在最新的是 VE
现看它的下载需求!!!!! 原来VE只能和相应版本的GEF,EMF,Eclipse SDK,一起工作,如果先前你下载了其他的高版本,都糟践的,关键是耽误自己的时间.
好了,攻略开始.建个下载文件夹.
下载VE(
在同一个页面的需求里下载 Eclipse SDK
解压缩Eclipse SDK
看看里边的内容,主要是plugins,features
解压缩 EMF 到\emf 文件夹, 把emf\plugins 的东西都拷贝到d:\eclipse\plugins, emf\features 下的东西拷贝到d:\eclipse\features
VE,GEF 操作同上...
重要的,Eclipse
由于运行SWT的程序用到本地库,因此拷贝 D:\eclipse\plugins\org.eclipse.swt.win32_
现在启动 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
*
* 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_
*/
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的变化...
注意:关闭当前窗体用dispose()就可以了,如果要退出程序,就用System.Exit(0),上面的代码是SWT的
以下是我自己的一些代码:
public void keyPressed(java.awt.event.KeyEvent e) {
//KeyPress Events
FrmLogin frmlogin=new FrmLogin();
//以下设置模式窗口
//frmlogin.setModal( true);
//以下设置窗口位置
frmlogin.setLocation(300,100);
frmlogin.show();
//以下关闭当前窗口
dispose();
System.out.print("KeyPressed");
}
上面的这段代码是用来打开一个新窗口,同时关闭当前窗口
//申明一个JFrame
FrmHello thisClass = new FrmHello();
thisClass.setLocation(300,100);
//初始化表结构
String[] columnName={"职员ID","职员名称"};
//设置列标题(表头)
Vector cname=new Vector(2);
cname.add(columnName[0]);
cname.add(columnName[1]);
//DefaultTableMode需要import javax.swing.table.*;
DefaultTableModel model=new DefaultTableModel(thisClass.srcdata,cname);
thisClass.jTable.setModel(model);
//以下是数据库连接过程
try
{
//注册驱动程序
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//连接到SQL服务器
Connection conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=pubs","sa","hz0222");
//查询表
Statement st;
st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from employee");
//显示数据集到JTable中
while (rs.next()) {
Vector rowdata=new Vector(2);
rowdata.add(rs.getString("emp_id"));
rowdata.add(rs.getString("fname"));
//将数据加入到容器,也就是加入到JTable 中
thisClass.srcdata.add(rowdata);
}
//刷新JTable
thisClass.jTable.repaint() ;
thisClass.jTable .updateUI() ;
}
catch(ClassNotFoundException ex)
{
System.err.print("ClassNotFound:"+ex.getMessage() );
}
catch(Exception ex1)
{
System.err.print("GError:"+ex1.getMessage() );
}
thisClass.show() ;
这段代码是用来初始化连接数据库(MSSQL)使用到了Jtable,Vector等
以下是它的引用:
//以下代码是使用JDBC必需的
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
//以下是使用Vector必需的
import java.util.*;
//以下是Swing类库
import javax.swing.JDialog;
import javax.swing.table.*;
import javax.swing.JTable;
import javax.swing.JScrollPane;
//以下引用是使用JOptionPane.showMessageDialog(jButton,
result,"Application Exit Now",1);
必需的
import javax.swing.JOptionPane;
到此,终于知道在Eclipse中开发类似普通的Windows GUI应用程序了(汗)