我刚刚提到了如何使用StyledCellLabelProvider.COLORS_ON_SELECTION
悬停或在JFace TableViewer上选择行时保持背景单元格的颜色。但是,我使用的是StyledCellLabelProvider
的子类 - DecoratingStyledCellLabelProvider
。
我有什么方法可以使用StyledCellLabelProvider.COLORS_ON_SELECTION
样式位吗?我没有看到任何带有样式位的构造函数,也没有设置样式的方法。
答案 0 :(得分:0)
您无法设置标记,但您可以覆盖DecoratingStyledCellLabelProvider.paint
方法来模拟它的作用:
@Override
protected void paint(final Event event, final Object element)
{
if ((event.detail & SWT.SELECTED) != 0)
{
event.detail &= ~SWT.SELECTED;
super.paint(event, element);
event.detail |= SWT.SELECTED;
}
else
super.paint(event, element);
}
这只是关闭了所选的'在涂料期间标记,因此该行被视为正常。
但我并不是真的推荐这个(或COLORS_ON_SELECTION),因为它在某些平台上效果不佳。