トップ 一覧 検索 ヘルプ RSS ログイン

Browserの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
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を参照してください。

*http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/faq.html#whatisbrowser

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コードを実行することができるようになりました。これによってJava側からBrowserウィジェット内で表示されているWebページに対して簡単に通知を行うことができます。
さらにSWT 3.1からは任意のJavaScriptコードを実行することができるようになりました。これによってBrowserウィジェット内で表示されているWebページに対してJava側から簡単に通知を行うことができます。

 browser.execute("alert('Hello!!');");