*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>Applet与Swing>文章内容
SWT树节点上弹出菜单的实现
作者: 发布时间:2008-02-05 10:38:52

简介:
    通过示代码片段,介绍如何在SWT的Tree对象TreeItem节点上,实现弹出菜单。

关键词:
    SWT、Tree、TreeItem、Menu、MenuItem

正文:
    [1]为Tree控件建立Listen,例如下代码:
    tree1 = new Tree(dialogShell, SWT.NONE);
                                ...
    tree1.addMouseListener(new MouseAdapter() {
     public void mouseDoubleClick(MouseEvent evt) {
      tree1MouseDoubleClick(evt);
     }
     public void mouseDown(MouseEvent evt) {
      tree1MouseDown(evt);
     }
    });

     [2]为Tree控件,增加节点!
        使用TreeItem类对象,略。

     [3]为用户建弹出菜单;  在tree1MouseDown代码段内,添加下面代码。
 TreeItem selected=tree1.getItem(new Point(evt.x,evt.y));  //取节点控件
 if(selected!=null&&evt.button==3)   //如果取到节点控件,且是鼠标右键
 {
   Menu menu=new Menu(dialogShell,SWT.POP_UP);  //为节点建POP UP菜单
   if(selected.getParentItem()!=null)  //如果不是根节点
   {
  MenuItem mi4=new MenuItem(menu,SWT.PUSH);  //为菜单,建菜单项
  mi4.setText("向["+selected.getText()+"]节点,发送即时消息!");
  mi4.setData(selected.getText());  //向响应菜单项事件的代码,传递值。
  mi4.addListener(SWT.Selection, new Listener() {
  public void handleEvent(Event e) {  //向指定用户发送消息!
   MenuItem mi=(MenuItem)e.widget;  //取菜单项Widget
   String selected=(String)mi.getData();  //取,在建立菜单项时,传过来的对象。
   if(selected!=null)
   { //添加,响应代码 }
  }
  });
            } else { 如果,是根节点,即selected.getParentItem()==null为真。 }
            tree1.setMenu(menu);  //设置弹出菜单
 }else if(evt.button==3)  //选中的是树形控件的空白区
 {
           //响应代码段,略
 }

参考网站:
[1]SWT官网
http://www.eclipse.org/swt/
[2]Jigloo官网
http://www.cloudgarden.com/jigloo/ 


·基于 JSF+Spring + JPA 构建敏捷的Web(02-01)
·在SWING 的 JFileChooser中俘获返回的(01-20)
·SWT中设置TableViewer和TreeViewer为双(01-19)
·Spring之特殊字符转义和方法入参检测工(01-16)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·SWT中的FormLayout (01-10)
·Spring基础(01-10)
·Spring 让 LOB 数据操作简单化 (12-26)
·Swing中使用Html标签 (12-26)
·Swing中使用Html标签 (12-26)
·JavaSwing中的对话框(12-24)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处