在swt中,例如我想把form1的text1文本,点击确定按钮后,在form2中的text1文本中显示.请各位大哥、高手多多帮忙。最好给些源码。急---------速度-------加分---------

解决方案 »

  1.   

    这种?package test;import org.eclipse.swt.SWT;
    import org.eclipse.swt.custom.SashForm;
    import org.eclipse.swt.custom.StyledText;
    import org.eclipse.swt.custom.ViewForm;
    import org.eclipse.swt.events.MouseAdapter;
    import org.eclipse.swt.events.MouseEvent;
    import org.eclipse.swt.widgets.Button;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;/************************************************
     * @create date 2008-4-14
     * @author iider
     *********************************************/public class ddd extends Shell { private StyledText styledText_1;
    private StyledText styledText;
    /**
     * Launch the application
     * @param args
     */
    public static void main(String args[]) {
    try {
    Display display = Display.getDefault();
    ddd shell = new ddd(display, SWT.SHELL_TRIM);
    shell.open();
    shell.layout();
    while (!shell.isDisposed()) {
    if (!display.readAndDispatch())
    display.sleep();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    } /**
     * Create the shell
     * @param display
     * @param style
     */
    public ddd(Display display, int style) {
    super(display, style);
    createContents();
    } /**
     * Create contents of the window
     */
    protected void createContents() {
    setText("SWT Application");
    setSize(371, 187); final ViewForm viewForm = new ViewForm(this, SWT.BORDER);
    viewForm.setBounds(22, 25, 135, 80); styledText = new StyledText(viewForm, SWT.BORDER);
    viewForm.setTopLeft(styledText);
    styledText.setText("test"); final Composite composite = new Composite(viewForm, SWT.NONE);
    viewForm.setContent(composite); final Button button = new Button(composite, SWT.NONE);
    button.addMouseListener(new MouseAdapter() {
    public void mouseUp(final MouseEvent arg0) {
    String text = styledText.getText();
    styledText_1.setText(text);
    styledText.setText("");
    }
    });
    button.setText("go to right");
    button.setBounds(10, 24, 101, 22); final ViewForm viewForm_1 = new ViewForm(this, SWT.BORDER);
    viewForm_1.setBounds(194, 25, 128, 80); styledText_1 = new StyledText(viewForm_1, SWT.BORDER);
    viewForm_1.setTopLeft(styledText_1); final Composite composite_1 = new Composite(viewForm_1, SWT.NONE);
    viewForm_1.setContent(composite_1); final Button button_1 = new Button(composite_1, SWT.NONE);
    button_1.setText("to to left");
    button_1.setBounds(10, 24, 98, 22);
    button_1.addMouseListener(new MouseAdapter() {
    public void mouseUp(final MouseEvent arg0) {
    String text = styledText_1.getText();
    styledText.setText(text);
    styledText_1.setText("");
    }
    });
    //
    } @Override
    protected void checkSubclass() {
    // Disable the check that prevents subclassing of SWT components
    }}
      

  2.   

    就是在按钮上加个事件处理, 当按下时, 取得text1的字符串, 设置text2的字符串.
      

  3.   

    在点按钮,new form2的时候,把参数text1的值当成参数传递到from2的构造种,再在from2的init()方法里进行初始化的时候设置到文本框里面