我正在关注一个关于 SWT的简单教程。当我将它作为 Java 应用程序运行时,它运行良好。如何让它作为 OSGi 包运行?有什么特殊的配置设置要做吗?
提前感谢。
您不妨将 GUI 构建为Eclipse 富客户端平台(RCP) GUI。
这样,Eclipse 将管理 OSGI 代码,您可以专注于 SWT 或 JFace 代码。
看看 bnd(工具)。SWT 的唯一特殊之处在于 Display 事件循环位于 Mac 的主线程上。bndtools 启动器对此有特殊支持。无论您想在何处运行 Display 事件循环,请使用 main.thread=true 服务属性注册一个 Runnable 服务。然后在主线程上调用此 Runnable。
其余的只是普通的普通旧 OSGi ......
确保您的 Activator 类实现BundleActivator
(osgi) 和 Create Display,打开 Shell(window) 并运行 SWT 事件循环 start(BundleContext context)
并在stop(BundleContext context)
.