关于如何根据所选项目正确地将右键单击菜单连接到 a有一个很好的线程。Jface TreeViewer
我想根据以下条件显示右键菜单:右键单击是在节点上还是在“空白空间”中。问题是如果您单击空白区域,TreeViewer 不会自动清除选择。有什么干净的方法可以实现这一目标吗?
我目前的方法是MouseListener
使用以下 mouseDown 方法简单地将 a 连接到树:
@Override
public void mouseDown(MouseEvent e) {
TreeItem item = treeViewer.getTree().getItem(new Point(e.x, e.y));
if (item == null) {
treeViewer.getTree().deselectAll();
}
}
这似乎工作得很好。你觉得这怎么样?