我在eclipse插件中使用TreeViewer
,它使用内容提供程序和标签提供程序来实现所有(ITableLabelProvider
,IFontProvider
,IColorProvider
)。< / p>
但是我需要它创建的表中的一列来保存“链接” - 带下划线的蓝色文本,点击后会导致打开一些弹出窗口。我想我想要做的是让单个列保存样式文本而不仅仅是文本,并将一个监听器附加到树的该列中的项目,但我无法弄清楚如何做到这一点。
答案 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
。