收藏.Eclipse.使用VE以及SWT的安装和配置

 

1.因为我用的eclipse是3.1.2版本,所以首先下载对应的3个插件emf-sdo-xsd-SDK-2.1.2.zip,GEF-ALL-3.1.1.zip,VE-SDK-1.1.0.1.zip(注意这里一定要对应的使用!)
2.将这3个插件对应的解压
3.这样打开eclipse你就会发现新建那里多了Visual Class
4.接下来配置SWT.
由于运行SWT的程序用到本地库.然后发现D:/eclipse/plugins/下有个org.eclipse.swt.win32.win32.x86_3.1.2.jar,将里面的DLL文件解压出来,放到D:/JAVA/BIN/文件夹下
5.启动eclipse,
添加SWT ToolKit, 菜单Project->Properties 选择左侧的 Java Build Path  选择 右侧的 Libraries 标签页, 点击 Add Library 按钮, 选择 Standard Widget Toolkit(SWT)  点击 Next , 选上 Include support for JFace library  结束.这样就可以使用 SWT/Jface控件了.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实战开始:(摘录)
新建一个项目 file->New->project 出来项目向导, 选择java project.  ->next 输入project Name:Hello  Eclipse自动给你建个workspace 工作文件夹,你的项目都存在这里的,d:/eclipse/workspace  点击结束. 一个新项目建成了.

 

选中你的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的变化...

 

 

 

 

 

 

 

 

 

 

 

 

 

注意:关闭当前窗体用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)使用到了JtableVector

 

 

 

 

 

 

 

 

 

 

 

 

 

以下是它的引用:

 

 

 

 

 

 

 

 

 

 

 

 

 

//以下代码是使用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应用程序了()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

选中你的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的变化...

 

 

 

 

 

 

 

 

 

 

 

 

 

注意:关闭当前窗体用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)使用到了JtableVector

 

 

 

 

 

 

 

 

 

 

 

 

 

以下是它的引用:

 

 

 

 

 

 

 

 

 

 

 

 

 

//以下代码是使用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应用程序了()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
展开阅读全文

没有更多推荐了,返回首页