私の目標は、Limewire(JAVA) と Songbird(XULRunner) を一緒に実行することです。
Javaスイングパネル内でXULアプリケーション(songbird)を実行するのが最善の方法だと考えていました。別の方法はありますか?
GUI を完全に XUL で作成してから、Java オブジェクトに何らかの方法でアクセスする方が良いでしょうか、それとも可能でしょうか?
どうすればこれを行うことができますか?
ありがとう
SWT と Xulrunner を使用したネイティブ Swing 実装であるDJ Native Swingを見てください。
Eclipse SWTによるxulrunnerの埋め込みを見てみましょう: http://www.eclipse.org/swt/faq.php#whatisbrowser
Mozillaによる公式のXUL実装であり、Geckoに大きく依存しています。GeckoはJavaで記述されておらず、AWT / Swing / SWTに組み込まれていません(少なくともJNIを使用しない場合)。
したがって、簡単な答えは次のとおりです。JNIを使用するか、重くて複雑で不完全なサードパーティのライブラリを使用する必要があります。
ただし、JavaXPCOMではGeckoの埋め込みが許可されているようです:https ://developer.mozilla.org/en/JavaXPCOM しかし、その場合はGeckoに依存します...そしてそれがSongbirdを実行するのに十分かどうかはわかりません。
Limewire のソース コードを調べてみます。UI とアプリケーションの残りの部分が明確に分離されている場合は、Songbird 拡張機能内から Limewire の非 UI コードをインスタンス化して呼び出すソリューションを見つけようとします。
私は現在、新製品の XUL を研究しており、Java コードが XPCOM オブジェクトと対話できるようにするJavaXPCOMに出会いました。私はまだ Mozilla スタックについて頭を悩ませていますが、私が理解している限りでは、すべての XULRunner アプリケーションは XPCOM を使用しています。したがって、このアプローチで Songbird を埋め込むことができるはずです。