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

我有一个在eclipse插件中使用的TreeViewer ,它使用内容提供程序和实现所有( ITableLabelProviderIFontProviderIColorProvider )的标签提供程序。

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

使用TreeViewerColumn为每列使用单独的标签提供程序:

 TreeViewer viewer = new TreeViewer(.....); TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.LEAD); col1.setLabelProvider(col1 label provider); ... repeat for other columns 

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

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