我正在使用一个样式为SWT.CHECK
和SWT.FULL_SELECTION
的SWT表。当用户双击表行时,我添加了一个MouseListener来填充输出组。但是,双击也会切换行的复选框。虽然我认为这是目标平台(Windows)的预期行为,但我希望阻止复选框切换。
是否可以不双击复选框切换?
答案 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,以这种方式删除它似乎是合法的。