我正在开发一个基于TreeViewer的树并创建myLabelProvider extends LabelProvider
然后使用viewer.setLabelProvider(new ViewLabelProvider());
,但所有节点仍然以正常的普通样式显示。
代码:
class ViewLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider{
public String getText(Object obj) {
return obj.toString();
}
public Image getImage(Object obj) {
return null;
}
public Font getFont(Object element, int columnIndex) {
FontRegistry registry = new FontRegistry();
return registry.getBold(Display.getCurrent().getSystemFont().getFontData()[0].getName());
}
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
public String getColumnText(Object element, int columnIndex) {
return null;
}
}
参考文献:
http://www.eclipsezone.com/eclipse/forums/t95078.html
How do I make part of a TreeViewer cell bold?
有人可以提供一些建议吗?
答案 0 :(得分:1)
如果您只是使用一个列,那么请让您的标签提供程序实现IFontProvider
(也许IColorProvider
)
public Font getFont(Object element) {
return font or null to use default
}
注意:如果您创建任何字体,请务必在完成后将其丢弃。
答案 1 :(得分:0)
也许
public String getColumnText(Object element, int columnIndex)
{
if (columnIndex == 0)
return getText(element);
return null;
}