我知道SWT有一個鏈接類來創建HTML A HREF鏈接樣式的窗口小部件,但我赤身試圖找到一種方法,使在StyledText控制具有一定的文字顯示和功能的鏈接。HTML風格的鏈接是否可以添加到SWT StyledText?
我覺得如果你按住控制和方法名懸停在像Eclipse做到這一點在他們的代碼編輯器,但我知道Eclipse Java編輯器比StyledText控制要複雜得多。
我知道SWT有一個鏈接類來創建HTML A HREF鏈接樣式的窗口小部件,但我赤身試圖找到一種方法,使在StyledText控制具有一定的文字顯示和功能的鏈接。HTML風格的鏈接是否可以添加到SWT StyledText?
我覺得如果你按住控制和方法名懸停在像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部件是否會有所幫助。
謝謝!我希望看到用於自動添加鏈接的代碼,但這很有幫助。 – thehiatus 2009-10-29 15:34:00