2009-09-29 62 views
6

我知道SWT有一个链接类来创建HTML A HREF链接样式的窗口小部件,但我赤身试图找到一种方法,使在StyledText控制具有一定的文字显示和功能的链接。HTML风格的链接是否可以添加到SWT StyledText?

我觉得如果你按住控制和方法名悬停在像Eclipse做到这一点在他们的代码编辑器,但我知道Eclipse Java编辑器比StyledText控制要复杂得多。

回答

7

由于JFace的3.5,有一个链接一个特殊的风格:

styleRange.underlineStyle = SWT.UNDERLINE_LINK; 
styleRange.data = "http://www.google.com/"; 

这使得它更简单,以确定一个链接,你可以存储在样式的URL。至于自动查找链接,只认准模式http://[^ ](不允许空白中的链接),在你得到,并添加样式的线条。

2

你需要一个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部件是否会有所帮助。

+0

谢谢!我希望看到用于自动添加链接的代码,但这很有帮助。 – thehiatus 2009-10-29 15:34:00

相关问题