我的目标是让Limewire(JAVA)和Songbird(XULRunner)一起运行。
我认为最好的方法是在JAVA秋千面板内运行XUL应用程序(鸣鸟)。还有另一种方式吗?
将GUI完全放在XUL中,然后以某种方式访问我的JAVA对象会更好还是可能?
我将如何做到这一点?
由于
答案 0 :(得分:2)
答案 1 :(得分:2)
使用SWT和Xulrunner查看DJ Native Swing,一个原生的Swing实现。
答案 2 :(得分:0)
我目前正在研究XUL的新产品,我遇到了JavaXPCOM,它允许Java代码与XPCOM对象进行交互。我仍然围绕着Mozilla堆栈,但据我所知,所有XULRunner应用程序都使用XPCOM。因此,您似乎应该能够使用这种方法嵌入Songbird。
答案 3 :(得分:0)
Mozilla正式实施的XUL并且严重依赖于Gecko。 Gecko不是用Java编写的,也不是嵌入在AWT / Swing / SWT中(至少不使用JNI)。
所以,简短的回答是:不。您必须使用JNI或使用繁重,复杂且不完整的第三方库。
然而,JavaXPCOM似乎允许嵌入Gecko:https://developer.mozilla.org/en/JavaXPCOM 但在那种情况下你会依赖Gecko ......我不知道这是否足以运行Songbird。
答案 4 :(得分:0)
我会检查Limewire的源代码。如果UI和应用程序的其余部分之间存在清晰的分离,我会尝试找到一个解决方案来实例化并从Songbird扩展中调用Limewire的非UI代码。
答案 5 :(得分:0)
我会看看eclipse swt的嵌入 xulrunner的: http://www.eclipse.org/swt/faq.php#whatisbrowser