我在创建的TableViewer上显示log4j消息,但现在我想根据信息,调试,警告,错误消息更改消息的颜色。如何才能做到这一点?将消息提取到表查看器的代码如下:
TableViewerColumn message = new TableViewerColumn(viewer, SWT.NONE);
message.getColumn().setWidth(800);
message.getColumn().setText("Message");
message.setLabelProvider(new ColumnLabelProvider()
{
@Override
public void update(ViewerCell cell)
{
Object element = cell.getElement();
if(element instanceof MyObject)
{
MyObject obj = (MyObject) element;
cell.setText(obj.getMessage());
}
}
});
}
private static class MyObject
{
private String first;
private String second;
private String message;
public MyObject(String first, String second,String message)
{
this.first = first;
this.second = second;
this.message = message;
}
public String getFirst()
{
return first;
}
public void setFirst(String first)
{
this.first = first;
}
public String getSecond()
{
return second;
}
public void setSecond(String message)
{
this.second = second;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
答案 0 :(得分:0)
您拨打ViewerCell.setBackground
和ViewerCell.setForeground
以update
方式设置单元格的背景和前景色。
另外,您可以覆盖update
,ColumnLabelProver
和getText
方法,而不是覆盖getBackground
的{{1}}方法。