如何在JFace表查看器中侦听复选框

Man*_*lva 8 java eclipse jface viewer

我使用带有复选框的表查看器如下:

final TableViewer legendViewer = new TableViewer(parent, SWT.CHECK);
Run Code Online (Sandbox Code Playgroud)

在此查看器中收听复选框选择/取消选择的解决方案是什么?

提前谢谢,Manu

小智 13

看看CheckboxTableViewer派生的类TableViewer,简化了TableViewer与SWT.CHECK样式的使用.

添加ICheckStateListener到您的CheckboxTableViewervia 的实现addCheckStateListener().你必须实现的唯一方法是checkStateChanged(CheckStateChangedEvent event),其中event包含有关状态变化的所有必要信息.

如果只需要一列,可以像这样创建一个CheckboxTableViewer:

CheckboxTableViewer myTableViewer = CheckboxTableViewer.newCheckList(parent, style);
Run Code Online (Sandbox Code Playgroud)


Ton*_*sen 9

你在监听SWT.Selection事件Table并检查event.detail == SWT.CHECK...

有关实际代码,请参阅此示例 ....