Встраивание приложения XULRunner на Java
Моя цель - заставить Limewire(JAVA) и Songbird(XULRunner) работать вместе.
Я думал, что лучший способ - запустить приложение XUL (songbird) внутри свинг-панели JAVA. Есть ли другой способ?
Было бы лучше или возможно иметь GUI полностью в XUL, а затем каким-то образом получить доступ к моим объектам JAVA?
Как бы я поступил так?
Спасибо
6 ответов
Взгляните на DJ Native Swing, нативную реализацию Swing с использованием SWT и Xulrunner.
Я бы изучил исходный код Limewire. Если между пользовательским интерфейсом и остальной частью приложения есть четкое разделение, я бы попытался найти решение для создания экземпляра и вызова не-пользовательского кода Limewire из расширения Songbird.
В настоящее время я изучаю XUL для нового продукта и наткнулся на JavaXPCOM, который позволяет коду Java взаимодействовать с объектами XPCOM. Я все еще думаю о стеке Mozilla, но насколько я понимаю, все приложения XULRunner используют XPCOM. Поэтому кажется, что вы должны иметь возможность встраивать Songbird с таким подходом.
Официальная реализация XUL от Mozilla и сильно зависит от Gecko. Gecko не написан на Java и не встроен в AWT/Swing/SWT (по крайней мере, без использования JNI).
Итак, короткий ответ: нет. Вы должны либо использовать JNI, либо использовать тяжелые, сложные и неполные сторонние библиотеки.
Однако JavaXPCOM, похоже, позволяет встраивать Gecko: https://developer.mozilla.org/en/JavaXPCOM Но в этом случае вы будете зависеть от Gecko... и я не знаю, достаточно ли этого для запуска Songbird.
Я хотел бы взглянуть на встраивание xulrunner в eclipse swt: http://www.eclipse.org/swt/faq.php