如何添加到JFace对话框的超链接

时间:2010-10-19 13:05:44

标签: java swt eclipse-rcp jface

如何在JFace对话框中创建超链接,单击该链接时会在默认Web浏览器中打开链接。一个完整的例子很有用。我知道有一个org.eclipse.jface.text.hyperlink包,但我找不到合适的例子。

1 个答案:

答案 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等。