在EclipseTreeViewer中,如何仅在鼠标向上和键盘箭头键中触发事件

在EclipseTreeViewer中,如何仅在鼠标向上和键盘箭头键中触发事件,eclipse,eclipse-plugin,eclipse-rcp,listselectionlistener,treeviewer,Eclipse,Eclipse Plugin,Eclipse Rcp,Listselectionlistener,Treeviewer,我有一个treeViewer,我只想在按下鼠标向上时执行一些代码(doSomething()方法),而不是按下鼠标向下。下面的代码即使在已触发selectionlistener的情况下触发鼠标按下也会执行它。我应该怎么做才能得到准确的行为 treeViewer.getTree(){ @凌驾 公共无效mouseUp(MouseEvent e){ doSomething() } @凌驾 公共无效mouseDown(MouseEvent e){ //什么也没发生 } @凌驾 public void m

我有一个treeViewer,我只想在按下鼠标向上时执行一些代码(doSomething()方法),而不是按下鼠标向下。下面的代码即使在已触发selectionlistener的情况下触发鼠标按下也会执行它。我应该怎么做才能得到准确的行为

treeViewer.getTree(){
@凌驾
公共无效mouseUp(MouseEvent e){
doSomething()
}
@凌驾
公共无效mouseDown(MouseEvent e){
//什么也没发生
}
@凌驾
public void mouseDoubleClick(MouseEvent e){
//什么也没发生
}
});
添加PostSelectionChangedListener(新的ISelectionChangedListener(){
@凌驾
公共作废selectionChanged(SelectionChangedEvent事件){
doSomething()
}
});

尝试此操作,假设查看器是您的TreeViewer,但在另一个控件上操作鼠标时,它不起作用

viewer.getTree(){
@凌驾
public void mouseDoubleClick(MouseEvent e){
//TODO自动生成的方法存根
}
@凌驾
公共无效mouseDown(MouseEvent e){
//TODO自动生成的方法存根
}
@凌驾
公共无效mouseUp(MouseEvent e){
//TODO自动生成的方法存根
System.out.println(“鼠标向上”);
}
});

什么可以创建不改变选择的MouseUp事件?