我目前想基于JFace TreeViewer
编写Eclipse编辑器。我在CellLabelProvider
中添加了TreeViewer
。如果我直接在update
的CellLabelProvider
方法中将单元格的字体设置为粗体,则标签显示为粗体。
但是我只希望标签的一部分显示为粗体。所以我将StyleRange
应用于单元格。在'StyleRange'中选择的颜色可以很好地工作,但是将StyleRange
的字体设置为粗体似乎无效。
为什么会这样,我该如何解决?
最佳答案
您可能需要使用基于StyledCellLabelProvider
的标签提供程序。DelegatingStyledCellLabelProvider
最容易使用,因为您只需要提供实现DelegatingStyledCellLabelProvider.IStyledLabelProvider
的标签提供程序即可。关键方法是
public StyledString getStyledText(Object element);
这样您就可以为每个对象返回一个
StyledString
。