Подтвердить что ты не робот

Как добавить гиперссылку в JFace Dialog

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

4b9b3361

Ответ 1

Запускаете ли вы приложение 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 и т.п.