Eclipse 애플리케이션에서 웹 브라우저 띄우기

 

시스템 브라우저

Eclipse의 Browser 객체를 생성하는 방식이 아니라 시스템의 실제 기본 웹 브라우저를 여는 방식이다.

오픈소스 라이브러리 중에서 BrowserLauncher2와 같이 시스템의 모든 브라우저를 관리하기 유용한 것도 있지만 단순히 간단한 웹페이지를 띄우기 위해서는 eclipse의 방식을 따르고 편리하다.

코드는 ProductInfoDialog에서 발췌했다. Eclipse에서 이용하는 코드이므로 EPL을 따른다.

  1. // ProductInfoDialog.java
  2.     /** Open a link */
  3.     protected void openLink(String href) {
  4.         // format the href for an html file (file:///<filename.html>
  5.         // required for Mac only.
  6.         if (href.startsWith("file:")) { //$NON-NLS-1$
  7.             href = href.substring(5);
  8.             while (href.startsWith("/")) { //$NON-NLS-1$
  9.                 href = href.substring(1);
  10.             }
  11.             href = "file:///" + href; //$NON-NLS-1$
  12.         }
  13.         IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
  14.         try {
  15.             IWebBrowser browser = support.getExternalBrowser();
  16.             browser.openURL(new URL(urlEncodeForSpaces(href.toCharArray())));
  17.         }
  18.         catch (MalformedURLException e) {
  19.             openWebBrowserError(href, e);
  20.         }
  21.         catch (PartInitException e) {
  22.             openWebBrowserError(href, e);
  23.         }
  24.     }