2008-11-17 10 views
5

Mein Ziel ist es, Limewire (JAVA) und Songbird (XULRunner) zusammen laufen zu lassen.Einbetten von XULRunner-Anwendung auf Java

Ich dachte, der beste Weg ist, die XUL-Anwendung (Singvogel) in einem JAVA-Swing-Panel zu betreiben. Gibt es eine andere Art und Weise?

Wäre es besser oder möglich, die GUI vollständig in XUL zu haben und dann irgendwie auf meine JAVA-Objekte zuzugreifen?

Wie würde ich das machen?

Dank

Antwort

2

Werfen Sie einen Blick auf JRex, da es Sie vielleicht in ein paar Ideen sehen lassen könnte.

Ansonsten würde ich auch über Rhinohide forschen.

0

Ich bin derzeit untersucht, XUL für ein neues Produkt und ich kam in JavaXPCOM, den Java-Code mit XPCOM Objekten zu interagieren kann. Ich wickle immer noch meinen Kopf um den Mozilla-Stapel, aber von dem, was ich verstehe, verwenden alle XULRunner-Anwendungen XPCOM. Daher scheint es, als ob Sie Songbird mit diesem Ansatz einbetten könnten.

0

Die offizielle XUL-Implementierung von Mozilla und ist stark abhängig von Gecko. Gecko ist weder in Java geschrieben noch in AWT/Swing/SWT eingebettet (zumindest ohne JNI).

Also, die kurze Antwort ist: nein. Sie müssen entweder JNI verwenden oder schwere, komplexe und unvollständige Drittanbieterbibliotheken verwenden.

Allerdings scheint JavaXPCOM das Einbetten von Gecko zu erlauben: https://developer.mozilla.org/en/JavaXPCOM Aber in diesem Fall sind Sie auf Gecko angewiesen ... und ich weiß nicht, ob das genug ist, Songbird zu laufen.

0

Ich würde Limewires Quellcode untersuchen. Wenn zwischen der Benutzeroberfläche und dem Rest der Anwendung eine saubere Trennung besteht, würde ich versuchen, eine Lösung zu finden, um Limewires Nicht-UI-Code innerhalb einer Songbird-Erweiterung zu instanziieren und aufzurufen.

2

einen Blick auf DJ Native Swing Nehmen wir eine native Swing-Implementierung SWT und Xulrunner verwenden.