Как я могу добавить гиперссылку на диалог JFace - PullRequest
12 голосов
/ 19 октября 2010

Как сделать гиперссылку в диалоге JFace, при нажатии которой открывается ссылка в веб-браузере по умолчанию.Полный пример был бы полезен.Я знаю, что есть пакет org.eclipse.jface.text.hyperlink, но я не могу найти подходящий пример.

1 Ответ

20 голосов
/ 20 октября 2010

Запущено ли у вас приложение RCP?

Если это так, то следующий код откроет вашу ссылку в браузере ОС по умолчанию:

 // '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();
            }
        }
    });

Выше предполагается, что вы не хотитесканировать существующий текст на наличие гиперссылок, но просто хотите создать его программно.Если требуется первое, вам нужно будет использовать API из текстовых пакетов JFace или тому подобное.

...