我Table
通过以下方式创建了一个 SWT:
new Table(tabFolder, SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
它现在每行都有一个复选框。如何禁用(灰色)此复选框的单个TableItem
?
使用TableItem.setGrayed (boolean grayed)
. 即使它是灰色的,您仍然可以选中/取消选中它。要禁用选中/取消选中,请使用TableItem.setChecked(boolean checked)
我不确定您是否可以禁用自动管理的复选框(即在表中使用 SWT.CHECK)。
解决方案是管理自己的编辑器(见片段)
然后在需要时在编辑器上执行此操作:
myButton.setEnabled(false);
据我所知,禁用选中表中的一行的唯一方法是向表中添加一个侦听器,并在选中复选框后立即重置选择。要“变灰”(不幸的是,不是按钮而是行),您可以使用适当的 ColumnLabelProvider。