Top / Eclipse / プラグイン開発のTIPS集 / Webブラウザを起動する

Eclipseのいくつかのバージョンから、WEBブラウザの起動が標準でサポートされるようになりました。昔は

public static void executeBrowser(String url) {
    // 拡張子が"html"のアプリケーションを開く。
    Program program = Program.findProgram("html");
    logger.debug("次のURLを開きます: " + url);
    if (program != null) {
        program.execute(url);
    } else {
        logger.warn("ブラウザが見つかりません。OSのバグくせぇなぁ");
        logger.debug("仕方がないので、Windows専用のやり方でやります。");
        try {
            Runtime.getRuntime().exec(
                    new String[] { "rundll32.exe",
                            "url.dll,FileProtocolHandler", url });
        } catch (IOException e) {
            logger.error("Windows限定のやり方でも、ブラウザが見つかりませんでした。OSのバグくせぇなぁ");
        }
    }
}

などとガリガリ書いてたのですが、いまはブラウザを起動するインタフェースが提供されたり、拡張ポイントで起動ブラウザ制御できたりするみたいです。便利ですね。

ブラウザをプログラムから起動する

ブラウザを起動するのは簡単で、ワークベンチよりブラウザを生成するクラスを取得してブラウザへのポインタを取得するだけです。具体的なコードは以下の通りです。

IWorkbenchBrowserSupport browserSupport = PlatformUI
        .getWorkbench().getBrowserSupport();
try {
    IWebBrowser browser = browserSupport.getExternalBrowser();
    logger.debug(browser);
    browser.openURL(new URL("http://www.masatom.in/pukiwiki/"));
} catch (PartInitException e) {
    logger.error("widgetSelected(SelectionEvent)", e);
    e.printStackTrace();
} catch (MalformedURLException e) {
    logger.error("widgetSelected(SelectionEvent)", e);
    e.printStackTrace();
}

簡単ですね。

んー以下、時間ナシ。

起動するブラウザを制御する

拡張ポイントorg.eclipse.ui.browserSupport

ブラウザを生成するクラス AbstractWorkbenchBrowserSupport?


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 2  

Top / Eclipse / プラグイン開発のTIPS集 / Webブラウザを起動する

現在のアクセス:13524


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS