禁用 JFace TableViwer 单行
Disable JFace TableViwer single row
有谁知道如何禁用 JFace 的单行 TableViwer
?我有一个 TableViwer
构造如下:
TableViwer tv = new TableViwer(composite, SWT.NONE| SWT.FULL_SELECTION | SWT.BORDER);
tv 可以有很多行,但我正在动态地向 table 添加一个特定的唯一行(当单击外部按钮时),我只需要禁用该行(变灰而不是选择table.not selectable也可以通过已有的handler来实现,如果没有其他选择的话)。
我在 google 中搜索,但没有得到太多信息。我是 SWT/JFace 的新手,如有任何帮助,我们将不胜感激。
您必须在选择侦听器中执行某些操作才能拒绝选择该行。
要使行变灰,您可以让您的标签提供程序实现 IColorProvider
,它允许您定义两种方法:
public Color getForeground(Object element);
public Color getBackground(Object element);
可以为行着色。
您还可以使用派生自 StyledCellLabelProvider
的标签提供程序,它可以让您定义更复杂的着色。
有谁知道如何禁用 JFace 的单行 TableViwer
?我有一个 TableViwer
构造如下:
TableViwer tv = new TableViwer(composite, SWT.NONE| SWT.FULL_SELECTION | SWT.BORDER);
tv 可以有很多行,但我正在动态地向 table 添加一个特定的唯一行(当单击外部按钮时),我只需要禁用该行(变灰而不是选择table.not selectable也可以通过已有的handler来实现,如果没有其他选择的话)。
我在 google 中搜索,但没有得到太多信息。我是 SWT/JFace 的新手,如有任何帮助,我们将不胜感激。
您必须在选择侦听器中执行某些操作才能拒绝选择该行。
要使行变灰,您可以让您的标签提供程序实现 IColorProvider
,它允许您定义两种方法:
public Color getForeground(Object element);
public Color getBackground(Object element);
可以为行着色。
您还可以使用派生自 StyledCellLabelProvider
的标签提供程序,它可以让您定义更复杂的着色。