【问题标题】:Is it inevitable that SWT is a dependency in an Eclipse RCP application?SWT 是否不可避免地成为 Eclipse RCP 应用程序中的依赖项?
【发布时间】:2017-05-07 20:47:06
【问题描述】:
比如说,我有一个基于 e4 平台的应用程序,它使用纯 JavaFX 而不是 SWT 作为渲染技术,例如 this one。它是否仍然间接需要一些 SWT 库?毕竟,Eclipse 平台是基于 SWT 的。我是否以正确的方式理解它?我无法从 Dependencies 选项卡中看到任何直接依赖项,如下所示。
【问题讨论】:
标签:
java
eclipse
javafx
swt
eclipse-rcp
【解决方案1】:
Eclipse 4 的核心不是基于 SWT。用于 Eclipse 的 UI 工具包由一组渲染器定义。每个渲染器负责显示来自应用程序模型的特定对象(部件堆栈、工具栏等)。
标准渲染器使用 SWT,但 e(fx)clipse 将其更改为使用 JavaFX 的集合。
一个渲染器工厂用于创建所有这些渲染器。渲染器工厂由org.eclipse.core.runtime.products 扩展点的rendererFactoryUri 属性定义。
这仅适用于 Eclipse 核心,许多 Eclipse 插件是直接使用 SWT 编码的,必须重写才能使用 JavaFX。