SWT树节点上弹出菜单的实现

标题:SWT树节点上弹出菜单的实现
作者:kagula(lee353086)
日期:20080204

简介:
通过示代码片段,介绍如何在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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值