0
我正在使用一个SWT表,其样式为SWT.CHECK
和SWT.FULL_SELECTION
。当用户双击表格行时,我添加了一个MouseListener来填充输出组。但是,双击也会切换行的复选框。虽然我认为这是目标平台(Windows)的预期行为,但我想阻止该复选框切换。抑制SWT.CHECK中的默认双击事件表
是否可以而不是使复选框切换双击?
我正在使用一个SWT表,其样式为SWT.CHECK
和SWT.FULL_SELECTION
。当用户双击表格行时,我添加了一个MouseListener来填充输出组。但是,双击也会切换行的复选框。虽然我认为这是目标平台(Windows)的预期行为,但我想阻止该复选框切换。抑制SWT.CHECK中的默认双击事件表
是否可以而不是使复选框切换双击?
我想通了,我使用的表实现添加了一个SelectionListener来切换复选框。
当我删除它,一切都按预期:
Listener[] listeners = table.getListeners(SWT.Selection);
if (listeners.length > 0) {
TypedListener typedListener = (TypedListener)listeners[0];
SelectionListener selectionListener = (SelectionListener)typedListener.getEventListener();
table.removeSelectionListener(selectionListener);
}
是不是一个干净的解决方案,但因为我知道,对象只有在那个时候一个SelectionListener中,似乎合法的删除该办法。
那么,这是哪个平台?在Mac上双击不会切换复选框。 –
无论在Windows上...... – Baz
我在Windows 7上观察到了这种行为。 – user1438038