SWTのBrowserウィジェットを用いてブラウザアプリを開発しています。 今回はこのBrowserウィジェットについて質問させていただきます。 Browserウィジェットのリスナーで「ページの描画が完了したとき」に処理をさせたいのですが、 addLocationListenerのchangedや、addProgressListenerのcompletedでは、 どうやら「htmlファイルの読み込みが完了したとき」にしかイベントが発生しないようなのです。 これは以下のようなサンプルを作成して確かめました。 browser.setUrl("○○○"); browser.addProgressListener(new ProgressListener() { public void completed(ProgressEvent arg0) { System.out.println("ok"); System.out.println("ok2"); ←ここにブレークポイントを設定 } }); このようにしてデバッグすると、画面に配置したブラウザにはまだ何も描画されていないにも関わらず、コンソールには"OK"のメッセージが表示されています。 そこで改めて質問なのですが、「ページの描画が完了したとき」を検知する方法は無いでしょうか? Browserウィジェットのリスナーには拘りませんが、方法はなるべく簡易なものが良いです。 また、表示するhtml側にjavascriptを仕込むというような細工をすることはできません。 SWT、ひいてはjavaプログラミングについて初心者ですので、勘違い等あるかもしれませんが、お詳しい方ご回答よろしくお願いします。
↧