日期:2014-05-20  浏览次数:20666 次

新手问下:SWT登录界面切换
package edu.ch4;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.*;

public class Guanli {
 
  public static void main(String[] args){
Display display=new Display();//创建一个display对象。
  final Shell shell=new Shell(display);//shell是程序的主窗体
   
  Shell shell1=new Shell();
  // shell1.getShell(Jiemian);
  //getShell
  shell.setText("人事管理系统");
  Menu mainMenu=new Menu(shell,SWT.BAR);
  shell.setMenuBar(mainMenu);
  {
  //"文件"项
  MenuItem fileItem=new MenuItem(mainMenu,SWT.CASCADE);
  fileItem.setText("文件");
  Menu fileMenu=new Menu(shell,SWT.DROP_DOWN);
  fileItem.setMenu(fileMenu);
  MenuItem newFileItem=new MenuItem(fileMenu,SWT.CASCADE);
  newFileItem.setText("登录选项");
  newFileItem.addSelectionListener(new SelectionAdapter(){
  public void widgetSelected(SelectionEvent e){
   
  }
  });
 
  new MenuItem(fileMenu, SWT.SEPARATOR);
  MenuItem newFileItem1=new MenuItem(fileMenu,SWT.CASCADE);
  newFileItem1.setText("新建1");
  newFileItem1.setEnabled(false);
  //newFileItem1.setVisible(false);

  }

  shell.pack();
  shell.open();
  while(!shell.isDisposed()){
  display.sleep();
  //如果主窗体没有关闭则一直循环
  if(!display.readAndDispatch()){ //如果display不忙
  //休眠
  }
  }
  display.dispose();
  }
   
  //销毁display
   
}

上面我想点“登陆选项”菜单选项,然后打开另一个叫Jiemian的类里面的shell窗口(这个类里面有main方法,是我做好的登录界面,这个类的代码我贴出来)那么“登陆选项”菜单选项 里面的监听事件应该怎么写?
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.*;

public class Jiemian {
  public static void main(String[] args)
  {
 
   
  Display display=new Display();
  final Shell shell=new Shell(display);
  shell.setText("系统登录");
  shell.setSize(300, 300);
   
  Label lb1=new Label(shell,SWT.NONE);

lb1.setText("请输入姓名:");
lb1.setBounds(20,50,70,20);
final Text text1=new Text(shell,SWT.BORDER);
text1.setBounds(100,49,70,20);

Label lb2=new Label(shell,SWT.NONE);

lb2.setText("请输入年龄:");
lb2.setBounds(20,100,70,20);
final Text text2=new Text(shell,SWT.BORDER);
text2.setBounds(100,100,70,20);
Button bt=new Button(shell,SWT.NONE);
bt.setBounds(20,150,70,20);
bt.setText("确定");
   
bt.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
MessageBox dialog=new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
dialog.setText("组件选择事件");
dialog.setMessage("您的姓名是:"+text1.getText()+"您的年龄是:"+text2.getText());
dialog.open();
}
});

Button bt1=new Button(shell,SWT.NONE);
bt1.setBounds(100,150,70,20);
bt1.setText("重置");
   
bt1.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
text1.setText("");
text2.setText("");

}
}
);

  shell.open();
  while(!display.isDisposed())