演示TreeEditor : 树 « SWT-JFace-Eclipse « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » SWT-JFace-Eclipse » 屏幕截图 
演示TreeEditor
演示TreeEditor

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

/**
 * This class demonstrates TreeEditor
 */
public class TextTreeEditor {
  // Constant for how many items to create at each level
  private static final int NUM = 3;

  /**
   * Runs the //Send questions, comments, bug reports, etc. to the authors:

//Rob Warner (rwarner@interspatial.com)
//Robert Harris (rbrt_harris@yahoo.com)application
   */
  public void run() {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Text Tree Editor");
    createContents(shell);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }

  /**
   * Creates the contents of the main window
   
   @param shell the main window
   */
  public void createContents(Shell shell) {
    shell.setLayout(new FillLayout());

    // Create the tree
    final Tree tree = new Tree(shell, SWT.SINGLE);

    // Fill the tree with data
    for (int i = 0; i < NUM; i++) {
      TreeItem iItem = new TreeItem(tree, SWT.NONE);
      iItem.setText("Item " (i + 1));
      for (int j = 0; j < NUM; j++) {
        TreeItem jItem = new TreeItem(iItem, SWT.NONE);
        jItem.setText("Sub Item " (j + 1));
        for (int k = 0; k < NUM; k++) {
          new TreeItem(jItem, SWT.NONE).setText("Sub Sub Item " (k + 1));
        }
        jItem.setExpanded(true);
      }
      iItem.setExpanded(true);
    }

    // Create the editor and set its attributes
    final TreeEditor editor = new TreeEditor(tree);
    editor.horizontalAlignment = SWT.LEFT;
    editor.grabHorizontal = true;

    // Add a key listener to the tree that listens for F2.
    // If F2 is pressed, we do the editing
    tree.addKeyListener(new KeyAdapter() {
      public void keyPressed(KeyEvent event) {
        // Make sure one and only one item is selected when F2 is pressed
        if (event.keyCode == SWT.F2 && tree.getSelectionCount() == 1) {
          // Determine the item to edit
          final TreeItem item = tree.getSelection()[0];

          // Create a text field to do the editing
          final Text text = new Text(tree, SWT.NONE);
          text.setText(item.getText());
          text.selectAll();
          text.setFocus();

          // If the text field loses focus, set its text into the tree
          // and end the editing session
          text.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent event) {
              item.setText(text.getText());
              text.dispose();
            }
          });

          // If they hit Enter, set the text into the tree and end the editing
          // session. If they hit Escape, ignore the text and end the editing
          // session
          text.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent event) {
              switch (event.keyCode) {
              case SWT.CR:
                // Enter hit--set the text into the tree and drop through
                item.setText(text.getText());
              case SWT.ESC:
                // End editing session
                text.dispose();
                break;
              }
            }
          });

          // Set the text field into the editor
          editor.setEditor(text, item);
        }
      }
    });
  }

  /**
   * The application entry point
   
   @param args the command line arguments
   */
  public static void main(String[] args) {
    new TextTreeEditor().run();
  }
}


           
       
Related examples in the same category
1. SWT多列树SWT多列树
2. 在SWT树控件检测鼠标在SWT树控件检测鼠标
3. 限制匹配的项目选择事件限制匹配的项目选择事件
4. SWT树简单演示SWT树简单演示
5. 分类树
6. 简单树简单树
7. 书签管理器书签管理器
8. Displays a single-selection tree, a multi-selection tree, and a checkbox treeDisplays a single-selection tree, a multi-selection tree, and a checkbox tree
9. 演示TableTree演示TableTree
10. 树实例树实例
11. 树示例2
12. 演示CheckboxTreeViewer
13. 演示TreeViewer演示TreeViewer
14. SWT Tree SWT Tree
15. SWT Tree Composite
16. 在一个SWT树打印选定的项目在一个SWT树打印选定的项目
17. 插入一个项目到SWT树(在索引位置)插入一个项目到SWT树(在索引位置)
18. 在树上检测选择事件( SWT.CHECK )在树上检测选择事件( SWT.CHECK )
19. 创建一个SWT树(懒惰)创建一个SWT树(懒惰)
20. 创建树创建树
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.