Java SWT TreeViewer,其中一列需要是StyledText [英] Java SWT TreeViewer with one column that needs to be StyledText

查看:608
本文介绍了Java SWT TreeViewer,其中一列需要是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆