HTML 样式链接可以添加到 SWT StyledText 中吗?
题
我知道 SWT 有一个 Link 类来创建 HTML a href 样式链接作为小部件,但我试图找到一种方法来使 StyledText 控件中的某些文本显示并充当链接。
我觉得如果您按住 control 并将鼠标悬停在方法名称上,Eclipse 会在其代码编辑器中执行此操作,但我知道 Eclipse java 编辑器比 StyledText 控件复杂得多。
解决方案
由于JFace的3.5,存在一种用于链接一个特殊的样式:
styleRange.underlineStyle = SWT.UNDERLINE_LINK;
styleRange.data = "http://www.google.com/";
这使得它更简单,以确定一个链接,你可以存储在样式的URL。至于自动查找链接,只认准模式http://[^ ]
(不允许空白中的链接)中的台词你并添加样式。
其他提示
您需要一个LineStyleListener添加到StyledText部件:
textField.addLineStyleListener (...);
...
public void lineGetStyle (LineStyleEvent e)
{
// alloc a set of styles for the requested line
e.styles = new StyleRange [...];
for (int i = 0; i < e.styles.length; i++)
{
StyleRange styleRange = new StyleRange ();
styleRange.start = ...;
styleRange.length = ...;
styleRange.underline = true;
styleRange.foreground = <URL colour>;
e.styles [i] = styleRange;
}
}
有关LineStyleListener的Javadoc会给你一些更多的信息。
要添加的点击行为,你需要一些更多的逻辑:我也可以粘贴一些代码,我们用它来自动添加HTML风格的可点击的链接的URL在StyledText部件,如果这将有助于
不隶属于 StackOverflow