我知道 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部件,如果这将有助于

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top