Java Swingでブラウザを表示する。

今のJavaってすごいから、簡単にできるんじゃね?
と思っていたが、大間違いだった。

色々やっている人はいるようなのだが、私の状況で使えるものがほとんどない。
というわけで、同じような状況の人のため&備忘録。

-------------------------------
まず、JDIC。

import org.jdesktop.jdic.browser.WebBrowser;

こいつを使う。
表示自体はいたって簡単。

WebBrowser browser;
browser = new WebBrowser(true);
add(browser.asComponent());

基本的にはこれだけだ。(レイアウトなどは省略してある)

●長所
・URLを指定して表示、ソースを指定して表示、JavaScriptを実行可能。

●短所
・ネイティブのブラウザを使用する。IEがデフォルトになっている場合は問題ないが、
 FireFoxがデフォルトの場合、エラーで動作しなかった。
・ソースの指定やJavaScriptの指定は、不安定である(エラーが出たり出なかったり、原因不明)

評価)
デフォルトブラウザに影響される点が使えなかった。
また、環境によってはIEでも表示できない場合があるようだ。
-------------------------------

次は、mozswing。

import org.mozilla.browser.*;

これだ。

MozillaPanel webPanel;
System.setProperty("mozswing.xulrunner.home", "ネイティブへのパス");
webPanel = new MozillaPanel();
add(webPanel);

これもいたって簡単だ。
そして、最強だと思っていた。

●長所
・デフォルトブラウザによらない。
・タスクバーをデフォルトで実装している

●短所
・ネイティブファイルが多い(200個以上)
・「ネイティブへのパス」の部分に日本語があるとエラーになる。
 つまり、日本語ディレクトリ(デスクトップ等)に置けない。

評価)
この短所は痛かった!
完成目前で、別の環境でテストしようと思ったら動かない。
結局、ネイティブである、javaxpcomglue.dll にバグがあるらしい、
というところまでしか分からず、断念。

-------------------------------
3つめ。JDICplus。

import org.jdic.web.*;


BrTabbed brMain;
brMain = new BrTabbed();
brMain.setURL("http://java.com");

これでいける。
しかし、APIリファレンスが見当たらない。
仕方なく、付いていたデモプログラムを解析。

タブ式がいやだったので、さらに調べて

brMain = new BrComponent();

を発見。

●長所
・タブができるんだね!

●短所
・現在、調査中


っていうか、もう問題は起こらないでほしいんだけど。
[PR]
by miries | 2011-01-13 16:58 | ゲームを作る


<< やっぱりバグがあったよ、JDI... 3Dデジカメみた。 >>