swt tree spinner Group使用

来源:互联网 发布:通信达软件 编辑:程序博客网 时间:2024/05/21 06:46

package swt;

 

import javax.swing.JOptionPane;

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Spinner;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.graphics.Point;

public class Frame {

 protected Shell shell;
 private Spinner spinner;
 private Label label;
 private Group group;
 private Button button;
 private Button button_1;
 private Label label_1;
 private Tree tree;
 private Label label_3;
 /**
  * Launch the application.
  * @param args
  */
 public static void main(String[] args) {
  try {
   Frame window = new Frame();
   window.open();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 /**
  * Open the window.
  */
 public void open() {
  Display display = Display.getDefault();
  createContents();
  shell.open();
  shell.layout();
  while (!shell.isDisposed()) {
   if (!display.readAndDispatch()) {
    display.sleep();
   }
  }
 }
 /**
  * Create contents of the window.
  */
 protected void createContents() {
  shell = new Shell();
  shell.setSize(450, 300);
  shell.setText("/u63A7/u4EF6/u4F7F/u7528");
  
  spinner = new Spinner(shell, SWT.BORDER);
  spinner.setBounds(75, 27, 47, 23);
  
  label = new Label(shell, SWT.NONE);
  label.setBounds(28, 30, 61, 17);
  label.setText("/u6570/u5B57/uFF1A");
  
  group = new Group(shell, SWT.NONE);
  group.setBounds(76, 73, 77, 84);
  
  button = new Button(group, SWT.RADIO);
  button.setSelection(true);
  button.setBounds(10, 20, 57, 17);
  button.setText("/u7537");
  
  button_1 = new Button(group, SWT.RADIO);
  button_1.setBounds(10, 57, 57, 17);
  button_1.setText("/u5973");
  
  label_1 = new Label(shell, SWT.NONE);
  label_1.setBounds(28, 113, 61, 17);
  label_1.setText("/u6027/u522B/uFF1A");
  
  tree = new Tree(shell, SWT.SELECTED);
  tree.setBounds(235, 10, 132, 154);
  TreeItem treeItem1 = new TreeItem(tree,SWT.NONE);
  treeItem1.setText("长春市");
  TreeItem treeItem11 = new TreeItem(treeItem1,SWT.NONE);
  treeItem11.setText("二道区");
  final TreeItem treeItem12 = new TreeItem(treeItem1,SWT.NONE);
  
  treeItem12.setText("双阳区");
  TreeItem treeItem13 = new TreeItem(treeItem1,SWT.NONE);
  treeItem13.setText("朝阳区");
  treeItem13.setExpanded(true);
  TreeItem treeItem14 = new TreeItem(treeItem1,SWT.NONE);
  treeItem14.setText("宽城区");
  treeItem1.setExpanded(true);
  
  TreeItem treeItem2 = new TreeItem(tree,SWT.NONE);
  treeItem2.setText("吉林市");

  final TreeItem treeItem21 = new TreeItem(treeItem2,SWT.NONE);
  treeItem21.setText("吉林一区");
  
  TreeItem treeItem22 = new TreeItem(treeItem2,SWT.NONE);
  treeItem22.setText("吉林二区");
  TreeItem treeItem23 = new TreeItem(treeItem2,SWT.NONE);
  treeItem23.setText("吉林三区");
  final TreeItem treeItem24 = new TreeItem(treeItem2,SWT.NONE);
  treeItem24.setText("吉林四区");
  tree.addMouseListener(new MouseAdapter(){
   public void mouseDown(MouseEvent e)
   {
   
    Point p=new Point(e.x,e.y);
    TreeItem t=tree.getItem(p);
    JOptionPane.showMessageDialog(null, t.getText());
   }
  });
  Label label_2 = new Label(shell, SWT.NONE);
  label_2.setBounds(168, 10, 61, 17);
  label_2.setText("/u6811/uFF1A");
  
  Button button_2 = new Button(shell, SWT.NONE);
  button_2.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseDown(MouseEvent e) {
    String str="";
    str=str+spinner.getText().toString();
    if(button.getSelection())
    {
     str+=button.getText().toString();
    }
    else if(button_1.getSelection())
    {
     str+=button_1.getText().toString();
    }
    label_3.setText(str);
   }
  });
  button_2.setBounds(134, 205, 80, 27);
  button_2.setText("/u786E/u5B9A");
  
  label_3 = new Label(shell, SWT.NONE);
  label_3.setBounds(235, 205, 172, 33);
  label_3.setText("信息显示");
 }
}