org.eclipse.swt.browser.BrowserはSWT 3.0から追加されたWebブラウザウィジェットです。使い方はとても簡単で、インスタンスを生成してURLをセットするだけです。
Browser browser = new Browser(shell,SWT.BORDER); browser.setUrl("http://www.google.co.jp");
以下に代表的なメソッドを示します。
// 1ページ戻る browser.back(); // backが可能かどうか boolean backEnabled = browser.isBackEnabled(); // 1ページ進む browser.forward(); // forwardが可能かどうか boolean forwardEnabled = browser.isForwardEnabled(); // リロード browser.refresh(); // 読み込みを中止 browser.stop();
BrowserウィジェットはLinuxではMozillaのコンポーネントを利用して実装されており、Mozillaのバージョンによって動作しないこともあるようです。また、環境変数MOZILLA_FIVE_HOMEでMozillaのインストールディレクトリを指定しておく必要があります。詳しくは以下のURLを参照してください。
Browserウィジェット内のHTMLからJava側に何らかの値を返したい場合はStatusTextListenerを使用します。
browser.addStatusTextListener(new StatusTextListener() { public void changed(StatusTextEvent event) { System.out.println(event.text); } });
Browserウィジェットで表示するHTML中のJavaScriptで以下のようにステータスラインに文字列をセットすると上記のStatusTextListenerが呼び出されます。
window.status='Hello!!';
さらにSWT 3.1からは任意のJavaScriptコードを実行することができるようになりました。これによってBrowserウィジェット内で表示されているWebページに対してJava側から簡単に通知を行うことができます。
browser.execute("alert('Hello!!');");
最終更新時間:2005年08月19日 11時44分27秒