如何在JFace对话框中创建超链接,单击该链接时会在默认Web浏览器中打开链接。一个完整的例子很有用。我知道有一个org.eclipse.jface.text.hyperlink
包,但我找不到合适的例子。
答案 0 :(得分:20)
您是否正在运行RCP应用程序?
如果是这样,那么以下代码将在默认的OS浏览器中打开您的链接:
// 'parent' is assumed to be an SWT composite
Link link = new Link(parent, SWT.NONE);
String message = "This is a link to <a href=\"www.google.com\">Google</a>";
link.setText(message);
link.setSize(400, 100);
link.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
System.out.println("You have selected: "+e.text);
try {
// Open default external browser
PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(e.text));
}
catch (PartInitException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
catch (MalformedURLException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
});
以上假设您不希望扫描现有文本的超链接,而只是希望以编程方式创建一个。如果前者是必需的,那么您将需要使用JFace文本包中的API等。