Java SWT TreeViewer,其中一列需要是StyledText [英] Java SWT TreeViewer with one column that needs to be StyledText
问题描述
我在eclipse插件中使用了一个 TreeViewer
,它使用内容提供程序和标签提供程序来实现所有( ITableLabelProvider
, IFontProvider
, IColorProvider
)。
I have a TreeViewer
used in an eclipse plugin that uses a content provider and a label provider that implements all of (ITableLabelProvider
, IFontProvider
, IColorProvider
).
但是,我需要创建一个表的列,以保持链接 - 下划线的蓝色文本,当单击导致一些弹出窗口打开。我想我想做的是使单列容纳样式文本,而不仅仅是文本,并将一个侦听器附加到该列的列中,但我无法弄清楚如何做。
But I need one of the columns of the table it creates to hold "links" - underlined blue text that when clicked causes some popup to open. I guess what I want to do is cause that single column to hold styled text and not just text, and attach a listener to the items in that column of the tree, but I couldn't figure out how to do it.
推荐答案
使用 TreeViewerColumn
为每列使用单独的标签提供者:
Use a separate label provider for each column using TreeViewerColumn
:
TreeViewer viewer = new TreeViewer(.....);
TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.LEAD);
col1.setLabelProvider(col1 label provider);
... repeat for other columns
对于需要使用样式的列 DelegatingStyledCellLabelProvider
作为列标签提供者,如这里
For columns that require styling use DelegatingStyledCellLabelProvider
as the column label provider as described here
注意:使用列标签提供程序时,不要调用 viewer.setLabelProvider
。
Note: Do not call viewer.setLabelProvider
when using column label providers.
这篇关于Java SWT TreeViewer,其中一列需要是StyledText的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!