我有一个treeViewer,我只想在按下鼠标时执行一些代码(doSomething()方法),而不是在鼠标按下时。即使触发了鼠标按下,以下代码也会执行它,因为已经触发了 selectionlistener。我应该怎么做才能获得确切的行为?
treeViewer.getTree().addMouseListener(new MouseListener() {
@Override
public void mouseUp(MouseEvent e) {
doSomething()
}
@Override
public void mouseDown(MouseEvent e) {
// nothing happens
}
@Override
public void mouseDoubleClick(MouseEvent e) {
// nothing happens
}
});
treeViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
doSomething()
}
});