我正在使用带有OwnerDrawLabelProvider
的Jface表查看器来表示多行行,现在我想为行添加备用颜色。我尝试使用colLabelProvider,但它覆盖了OwnerDrawLabelProvider
。我如何实现这两个目标?
提前致谢!
答案 0 :(得分:2)
如果您使用OwnerDrawLabelProvider
,则必须在提供商处执行此操作。您可以使用以下内容填充erase
方法中的单元格背景:
@Override
protected void erase(Event event, Object element)
{
Table table = (Table)event.widget;
TableItem item = (TableItem)event.item;
int row = table.indexOf(item);
Color color;
if ((row & 1) == 0)
color = event.gc.getDevice().getSystemColor(SWT.COLOR_GREEN);
else
color = event.gc.getDevice().getSystemColor(SWT.COLOR_RED);
event.gc.setBackground(color);
event.gc.fillRectangle(event.x, event.y, event.width, event.height);
}