【问题标题】:SWT or Swing for Plugin Project插件项目的 SWT 或 Swing
【发布时间】:2011-03-12 22:08:51
【问题描述】:

我正在创建一个插件项目,该项目将包含一个菜单和工具栏项,当单击它们时,将打开一个用于用户交互(输入、搜索等)的对话框。我应该使用 SWT 还是 Swing 创建对话框?

【问题讨论】:

  • 它用于将 Code Barrel (www.codebarrel.com) 集成到 Eclipse 中。我们已经创建了 Visual Studio 插件,接下来是 Eclipse 插件。我现在正在收集关于如何最好地开发插件的信息阶段。

标签: java swing eclipse-plugin swt


【解决方案1】:

在 Swing 中执行此操作的一个优点是您不必提供任何其他库,因为 Swing 是 JRE 的一部分。使用 SWT,您必须这样做,并且必须为特定平台提供单独的 dll。 更新: 既然您提到您必须创建 Eclipse 插件,我认为您在这里有一个明确的选择 - SWT。它是 Eclipse 的基础。

【讨论】:

  • 我绝对同意这两个想法
【解决方案2】:

与@eugener 一样,我更喜欢Swing 而不是SWT,但两者都是丰富、维护良好的框架,可以达到目的。 NetBeans 和 Eclipse 是广泛使用的示例。流行平台的 SWT 二进制文件并不难集成。 The SWT FAQ 可能会提供一些观点。

您需要some other criteria 来决定。

【讨论】:

    【解决方案3】:

    由于您将 Code Barrel 集成到 Eclipse 中,并且 SWT 是 Eclipse 项目的一部分...

    实际上,您应该查看Eclipse Plug-in Architecture 并了解它是如何工作的。

    【讨论】:

    • 如果这是一个 Eclipse 插件,那么您最好使用 SWT。作为 Eclipse 用户,我绝对反对使用 Swing 的插件,因为它看起来不像应用程序的其余部分。此外,您还需要查看其他插件(尤其是那些属于 Eclipse 平台的插件),因为您会发现可以为您完成大部分工作的抽象对话框类,并将帮助您的插件看起来像是属于 Eclipse 的。深度集成是确保您的插件值得安装的关键。
    【解决方案4】:

    SWT。

    关于 Swing 和 SWT 优点的争论是无关紧要的。您的插件将与基于 SWT 的平台集成。使用相同的用户界面工具包将简化您的开发和测试,并产生更好的结果。

    在某些情况下,在 Eclipse 中使用 Swing 很有用,例如,当您有一个无法移植的现有代码库时。有一个 SWT/AWT 桥;我没用过。

    【讨论】:

    • 我已经用 Swing 构建了一个 Eclipse 插件,但由于 SWT 和 Swing 中的异常不同,我对此决定感到遗憾。很难解决问题。
    • @Mishax - 写完这个答案几年后,我尝试引入一个基于 Swing 的 2D 可视化面板。我使用了 SWT/AWT 桥,在 eclipse.org/articles/… 提供了一个附加层。两个 UI 工具包之间的交互仍然有一些用户可见的粗糙边缘。并非在所有操作系统上都可以看到一些粗糙的边缘。我最终在 Eclipse Draw2D 中编写了自己的可视化。对我来说,必须有一个令人信服的理由来考虑在 SWT 应用程序中使用基于 Swing 的组件。
    猜你喜欢
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多