Java 在OSGi框架中运行基于SWT的GUI

Java 在OSGi框架中运行基于SWT的GUI,java,user-interface,swt,osgi,bundle,Java,User Interface,Swt,Osgi,Bundle,我下面是一个关于SWT的简单介绍。当我将其作为Java应用程序运行时,它运行良好。如何使其作为OSGi包运行?是否需要进行任何特殊的配置设置 Thanx。您不妨将GUI构建为(RCP)GUI 这样,Eclipse将管理OSGI代码,您可以专注于SWT或JFace代码。确保您的Activator类实现BundleActivator(OSGI)并在start(BundleContext上下文)中创建显示、打开Shell(窗口)并运行SWT事件循环,然后在停止中处置显示、Shell(BundleCon

我下面是一个关于SWT的简单介绍。当我将其作为Java应用程序运行时,它运行良好。如何使其作为OSGi包运行?是否需要进行任何特殊的配置设置


Thanx。您不妨将GUI构建为(RCP)GUI


这样,Eclipse将管理OSGI代码,您可以专注于SWT或JFace代码。

确保您的Activator类实现
BundleActivator
(OSGI)并在
start(BundleContext上下文)
中创建显示、打开Shell(窗口)并运行SWT事件循环,然后在
停止中处置显示、Shell(BundleContext)

看看bnd(工具)。SWT的唯一特殊之处是,显示事件循环位于Mac上的主线程上。bndtools启动器对此有特殊支持。无论何时要运行显示事件循环,请使用main.thread=true服务属性注册可运行服务。然后在主线程上调用此可运行服务

对于其他人来说,它只是普通的老OSGi