如何让我的 jface tableviewer 显示特定行的选定背景颜色?我在每一行都有一个时间戳,并且喜欢给一个时间戳在星期一的行提供一种颜色,与其他颜色不同。
问问题
5126 次
2 回答
4
使用 ColumnLabelProvider 更容易:
col.setLabelProvider(new ColumnLabelProvider() {
@Override
public Color getBackground(final Object element) {
if (element instanceof YourClass) {
if (((YourClass) element).shouldBeRed()) {
return new Color(Display.getDefault(), 0xFF, 0xDD, 0xDD);
}
}
return super.getBackground(element);
}
});
当然,您不应该在每个 getBackground 上创建新颜色,而是为此目的使用资源管理器。
于 2014-02-27T16:24:22.483 回答
0
类似的东西:
col.setLabelProvider(new ColumnLabelProvider() {
@Override
public void update(final ViewerCell cell) {
YourRowItemClass rowItem = (YourRowItemClass) cell.getElement();
if (rowItem.isMonday()) {
cell.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GREEN));
}
}
});
于 2013-06-02T11:27:24.820 回答