OSGi tabanlı bir masaüstü uygulaması yazmaya çalışıyorum. Swing JFrame'im var ve modüller eklemek için olasılıklar eklemek istiyorum (diğer paketler). EclipseZone OSGi at JSig tutorial ile yürüdüm, ancak her uygulama OSGi Framework'den başlatıldı (bu durumda, Knopflerfish OSGi Desktop).OSGi'yi bir masaüstü bağımsız uygulamasında kullanma
Benim sorum şu ki, görünür OSGi çerçevesi olmadan uygulamayı başlatmak için bir seçenek var mı? Ben knwo, koddan, bir paketin özelliklerini değiştirmek mümkündür, ancak bir çerçevenin özelliklerini nasıl değiştirebilirim? (Örneğin varsayılan paket depolama konumu, paket konumu vs.? Içindedir varsayılan eylem olduğunda)
public class MainFrame extends ServiceTracker implements BundleActivator {
public MainFrame(BundleContext context, JToolBar toolBar) {
// select, which services is the bundle tracking
super(context, JMenu.class.getName(), null);
}
@Override
public void start(BundleContext context) throws Exception {
//display a JFrame
}
@Override
public void stop(BundleContext context) throws Exception {
//hide a JFrame
}
@Override
public Object addingService(ServiceReference reference) {
// Process a Service and return a JMenu
return new JMenu();
}
@Override
public void removedService(ServiceReference reference, Object service) {
// remove a JMenu from a JFrame
}
public static void main(String[] args) {
// ????????????????????????????????????????????
// ????????????????????????????????????????????
}
}
I (Ben sadece bir kroki gönderdiniz) üstünde bir sınıf yazdım, ama hiç bir fikrim, ne var main() işlevinde yaz. Bu paket Knopflerfish OSGi Masaüstünde gayet iyi çalışıyor, ancak onsuz çalışmasını istiyorum.
Teşekkürler! Blog yazısı aslında onu çözdü. – Benjamin
blog gönderi linki bozuk. –