当前位置: 代码迷 >> Eclipse >> 用swt/jface实现一个向导页解决方法
  详细解决方案

用swt/jface实现一个向导页解决方法

热度:41   发布时间:2016-04-23 14:10:55.0
用swt/jface实现一个向导页
具体就是,在第一个页面和第一个页面输入一些信息,然后在第三个页面里显示前面输入的内容。

这帖子不能插入本地图片吗?

------解决方案--------------------
发图片要先弄到空间去。。。
------解决方案--------------------
以下代码不是最优雅的做法,但确实是最基础的做法(你只需要懂SWT就行了)
Java code
public class WizardDemo {    public static void main(String[] args) {        final String[] values = new String[2];                Display display = Display.getDefault();        final Shell shell = new Shell();        shell.setSize(800, 600);        shell.setText("Wizard Demo");        final Label result = new Label( shell, SWT.NONE);        result.setBounds(5, 5, 500, 50);        final Shell page1 = new Shell( shell, SWT.DIALOG_TRIM  );        page1.setSize(150, 70);        page1.setText("请输入第一个值");        final Text input1 = new Text( page1, SWT.NONE);        input1.setBounds(5, 5, 100, 15);        Button btn1 = new Button( page1, SWT.NONE);        btn1.setBounds( 100, 30, 30, 15);        btn1.setText("确定");        btn1.addSelectionListener( new SelectionAdapter(){            @Override            public void widgetSelected( SelectionEvent e){                if (page1.getText().equals("请输入第一个值")){                    values[0] = input1.getText();                    page1.setText("请输入第二个值");                    input1.setText("");                }else{                    values[1] = input1.getText();                    page1.close();                    result.setText(String.format("您输入的第一个值是:%s,第二个值是:%s", values[0], values[1]));                    shell.open();                }            }        });        page1.open();                        shell.layout();        while (!shell.isDisposed()) {            if (!display.readAndDispatch()) {                display.sleep();            }        }    }}
------解决方案--------------------
WizardPage通常在所属的Wizard对象中弄一个成员变量,
然后在WizardPage中每个控件的SelectionEvent等事件中将数据实时保存到此成员变量中(记住在WizardPage中可以用getWizard()找到WizardPage所属的Wizard)
所有WizardPage完成后,所有数据就都被收集到该成员变量中了。
------解决方案--------------------
这里有个例子
http://www.jb51.net/article/18832.htm
  相关解决方案