无法在Jface Treeviewer中取消选择行

时间:2017-06-12 09:13:35

标签: swt jface

我有一个4-5行的树形图。当我点击任何一行时,它会被选中,但当我点击查看器中的任何其他位置(除了添加的行以外的区域)时,选择仍保留在我最近选择的行上。

我想要的是,当用户点击treeviewer的空白区域时,它应该删除选择。

我已在下面尝试过:

  1. treeviewer does not deselect the tree item

  2. 树的SelectionListener取消选择行 - 但是,控件没有到达那里

1 个答案:

答案 0 :(得分:1)

有一天我遇到了同样的问题,但不幸的是我没有找到任何解决问题的好方法。

但我做了一个解决方法:

  1. 将鼠标按下侦听器添加到treeviewer
  2. 使用treeviewer的getItem方法并将事件中的鼠标坐标传递给它。
  3. 检查从getItem方法接收的项是否为空
  4. 如果为null,则调用treeViewer.setSelection(StructuredSelection.EMPTY)
  5. 是的。

    我不确定它是否是Jface / SWT中的一种错误。