Java SWT TreeViewer,其中一列需要为StyledText

时间:2014-10-06 07:35:31

标签: java eclipse swt treeviewer styledtext

我在eclipse插件中使用TreeViewer,它使用内容提供程序和标签提供程序来实现所有(ITableLabelProviderIFontProviderIColorProvider)。< / p>

但是我需要它创建的表中的一列来保存“链接” - 带下划线的蓝色文本,点击后会导致打开一些弹出窗口。我想我想要做的是让单个列保存样式文本而不仅仅是文本,并将一个监听器附加到树的该列中的项目,但我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:3)

使用TreeViewerColumn

为每列使用单独的标签提供程序
TreeViewer viewer = new TreeViewer(.....);

TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.LEAD);

col1.setLabelProvider(col1 label provider);

... repeat for other columns

对于需要样式化的列,使用DelegatingStyledCellLabelProvider作为列标签提供程序,如所述here

注意:使用列标签提供程序时请勿调用viewer.setLabelProvider