我是用VE开发的想用StackLayou类,做一个界面
这个界面分左右两部分,左面是StackLayout布局,放置两个text框,右边是两个按钮
初始的时候左边不显示,当按了相应的按钮后,左边显示相应的text框我的代码出现一个小错误,就是topControl的时候不对,不知道哪里错了,查了半天了,过路的帮帮忙贴上我的代码:/*
* 创建日期 2005-10-25
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package eclipse_study;import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Text;
/**
* @author stt
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class StackLayout1 {  private org.eclipse.swt.widgets.Shell sShell = null;
  private Composite composite = null;
  private Composite composite1 = null;
  private Button button1 = null;
  private Button button2 = null;
  private Text text1 = null;
  private Text text2 = null;
  /**
   * This method initializes sShell
   */
  private void createSShell() {
    sShell = new org.eclipse.swt.widgets.Shell();     
    createComposite();
    createComposite1();
    sShell.setText("Shell");
    sShell.setLayout(new FillLayout());
    sShell.setSize(new org.eclipse.swt.graphics.Point(300,200));
  }
  /**
   * This method initializes composite  
   *
   */ 
  private void createComposite() {
    composite = new Composite(sShell, SWT.NONE);
    final StackLayout stackLayout = new StackLayout();
    composite.setLayout(stackLayout);
    text1 = new Text(composite, SWT.BORDER);
    text2 = new Text(composite, SWT.BORDER);
    text1.setBounds(new org.eclipse.swt.graphics.Rectangle(28,91,72,20));
    text1.setText("text1");
    text2.setBounds(new org.eclipse.swt.graphics.Rectangle(35,123,72,20));
    text2.setText("text2");
    
  }
  /**
   * This method initializes composite1  
   *
   */ 
  private void createComposite1() {
    composite1 = new Composite(sShell, SWT.NONE);     
    button1 = new Button(composite1, SWT.NONE);
    button2 = new Button(composite1, SWT.NONE);
    button1.setText("button1");
    button2.setText("button2");
    composite1.setLayout(new RowLayout());
    button1.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() { 
      public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { 
        System.out.println("widgetSelected()"); // TODO Auto-generated Event stub widgetSelected()
         stackLayout.topControl = text1; //将text1框显示,就是这里会出错。stackLayout下面显示小红线,晕了
         composite.layout(); //将界面刷新一下,否则显示上会没任何反映的
      }
    });
  }
} 郁闷呀