swt控件的使用

来源:互联网 发布:大连通科软件 编辑:程序博客网 时间:2024/04/17 04:00

简单的Swt控件的使用,和awt基本就一个样此例包含有按钮的单击、双击、复选框、下拉框、时间、slider等。

package swt;

import javax.swing.JOptionPane;//信息提示面板

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.DateTime;
import org.eclipse.swt.widgets.Scale;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Combo;

public class Fame {

 protected Shell shlSwtTest;
 private DateTime dateTime;
 private Scale scale;
 private Text text;
 private Combo combo;
 private Button c_2,c_3,c_4,c_5;
 private Button button_2;
 /**
  * Launch the application.
  * @param args
  */
 public static void main(String[] args) {
  try {
   Fame window = new Fame();
   window.open();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 /**
  * Open the window.
  */
 public void open() {
  Display display = Display.getDefault();
  createContents();
  shlSwtTest.open();
  shlSwtTest.layout();
  while (!shlSwtTest.isDisposed()) {
   if (!display.readAndDispatch()) {
    display.sleep();
   }
  }
 }

 /**
  * Create contents of the window.
  */
 protected void createContents() {
  shlSwtTest = new Shell();
  shlSwtTest.setSize(361, 300);
  shlSwtTest.setText("swt /u63A7/u4EF6/u7684/u4F7F/u7528");
  
  Button button = new Button(shlSwtTest, SWT.NONE);
  button.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseDown(MouseEvent e) {
    JOptionPane.showMessageDialog(null, "ok");
   }
  });
  button.setBounds(23, 10, 80, 27);
  button.setText("/u5355/u51FB");
  
  Button button_1 = new Button(shlSwtTest, SWT.NONE);
  button_1.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseDoubleClick(MouseEvent e) {
    JOptionPane.showMessageDialog(null, dateTime);
   }
  });
  button_1.setBounds(144, 10, 80, 27);
  button_1.setText("/u53CC/u51FB");
  
  dateTime = new DateTime(shlSwtTest, SWT.BORDER | SWT.SHORT);
  dateTime.setBounds(10, 169, 93, 24);
  
  scale = new Scale(shlSwtTest, SWT.NONE);
  scale.addSelectionListener(new SelectionAdapter() {
   @Override
   public void widgetSelected(SelectionEvent e) {
    int a=scale.getSelection();
    text.setText(""+a);
   }
  });
  scale.setBounds(23, 210, 170, 42);
  scale.setMaximum(100);
  scale.setMinimum(0);
  
  text = new Text(shlSwtTest, SWT.BORDER);
  text.setEditable(false);
  text.setBounds(199, 210, 36, 23);
  text.setText("0");
  
  combo = new Combo(shlSwtTest, SWT.NONE);
  combo.addSelectionListener(new SelectionAdapter() {
   @Override//重写选择事件
   public void widgetSelected(SelectionEvent e) {
    JOptionPane.showMessageDialog(null, "你选择的是:"+combo.getText());
   }
  });
  combo.setBounds(23, 54, 88, 25);
  combo.add("英语");
  combo.add("化学");
  combo.add("数学");
  combo.setText("/u8BF7/u9009/u62E9");
  
  c_2 = new Button(shlSwtTest, SWT.CHECK);
  c_2.setBounds(18, 107, 52, 17);
  c_2.setText("/u6E38/u620F");
  
  c_3 = new Button(shlSwtTest, SWT.CHECK);
  c_3.setBounds(80, 107, 52, 17);
  c_3.setText("/u722C/u5C71");
  
  c_4 = new Button(shlSwtTest, SWT.CHECK);
  c_4.setBounds(18, 130, 52, 17);
  c_4.setText("/u4E52/u4E53");
  
  c_5 = new Button(shlSwtTest, SWT.CHECK);
  c_5.setBounds(80, 130, 52, 17);
  c_5.setText("/u7535/u5F71");
  
  button_2 = new Button(shlSwtTest, SWT.NONE);
  button_2.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseDown(MouseEvent e) {
    String str="";
    if(c_2.getSelection())
    {
     str=str+c_2.getText();
    }
    if(c_3.getSelection())
    {
     str=str+" "+c_3.getText();
    }
    if(c_4.getSelection())
    {
     str=str+" "+c_4.getText();
    }
    if(c_5.getSelection())
    {
     str=str+" "+c_5.getText();
    }
    else if(str.trim().isEmpty())
    {
     JOptionPane.showMessageDialog(null, "你没有爱好吗?");
     return;
    }
    JOptionPane.showMessageDialog(null, "你的爱好是:"+str);
   }
  });
  button_2.setBounds(144, 125, 80, 27);
  button_2.setText("/u7231/u597D");
  

 }
}

原创粉丝点击