禁止SWT.CHECK表中的默认双击事件

时间:2014-07-24 20:14:52

标签: java checkbox swt mouseevent

我正在使用一个样式为SWT.CHECKSWT.FULL_SELECTION的SWT表。当用户双击表行时,我添加了一个MouseListener来填充输出组。但是,双击也会切换行的复选框。虽然我认为这是目标平台(Windows)的预期行为,但我希望阻止复选框切换。

是否可以双击复选框切换?

1 个答案:

答案 0 :(得分:0)

我发现,我正在使用的Table实现添加了一个切换复选框的SelectionListener。

当我删除它时,一切都按预期工作:

  Listener[] listeners = table.getListeners(SWT.Selection);

  if (listeners.length > 0) {
     TypedListener typedListener = (TypedListener)listeners[0];

     SelectionListener selectionListener = (SelectionListener)typedListener.getEventListener();

     table.removeSelectionListener(selectionListener);
  }

Ain是一个干净的解决方案,但由于我知道该对象当时只有一个SelectionListener,以这种方式删除它似乎是合法的。

相关问题