【问题标题】:Java GUI alternatives [closed]Java GUI替代品[关闭]
【发布时间】:2010-11-26 08:51:57
【问题描述】:

我用 Java 编写应用程序,并且正在寻找加速 GUI 编程的方法。绑定框架有所帮助,但我现在正在处理的特定应用程序不会从中受益太多(它不会显示很多数据,只是有很多操作数据的方法)。我觉得我花了太多时间编写样板 GUI 代码,比如添加动作侦听器、布局组件等。虽然我不是 C# 开发人员,但我听说 XAML 工作得很好,也见过 JAXX,它似乎类似于 XAML。我也在看 Groovy Swing Builder。似乎有很多选择,甚至可能太多了。

谁能分享他们对手写简单 Java UI 代码的替代方案的想法?

另外,我有兴趣讨论如何迁移现有 Java Swing 代码以使用其中一些选项。

谢谢, 杰夫

【问题讨论】:

  • 因此,我尽可能避免编写 Java GUI 应用程序。我也有兴趣看到建议。
  • 在尝试使用 Netbeans 的 GUI 创建器之前,我有同样的感觉。另外,稍微玩一下 JavaFX,我认为它确实可以加速 GUI(但还没有太多时间玩它)。
  • 我考虑过使用 GUI 创建器,但我想我只是觉得生成的 GUI 代码太多(类似于手写)。确实,GUI 创建者有助于加快进程,但它并没有消除往往出现在各处的样板代码(我知道在幕后像 XAML 之类的东西仍然会在运行时生成代码,但至少你不会'不必维护代码)。
  • 您不必“维护由 UI 构建器生成的代码”。您维护 Netbeans 使用其编辑器创建的 XML 文档。用好 Netbeans 可以创建良好的、易于维护的 UI。但是您必须接受仅使用 Netbeans 编辑器来创建和维护 UI。样板文件存在,但它已折叠,坦率地说,如果您正在查看生成的 .java 文件中的几乎所有代码,那么您使用的 UI 构建器是错误的。
  • 没错,但我也不喜欢被绑定到 Netbeans 的想法。并非这里的每个人(包括我自己)都使用它。

标签: java user-interface swing


【解决方案1】:

MiGLayout怎么样?

学习和使用非常简单。 我强烈推荐给你。在我的上一个项目中,它帮助我减少了实现大量 GUI 的时间。

【讨论】:

  • MigLayout 让我的开发变得非常简单和容易。
【解决方案2】:

布局:

对于布局,我放弃了 JDK 布局管理器,转而使用 JGoodies Forms 工具。我觉得它更有效。它在更高级别上读取,并显着减少与布局相关的代码量。

【讨论】:

  • 同意。我也用那个。绝对有帮助。
  • DesignGridLayout 对布局方面也有很大帮助,如果您的 UI 中只有表单。
【解决方案3】:

我推荐使用Clojure 它允许您在没有样板的情况下快速编写 Java GUI。

【讨论】:

    【解决方案4】:

    Griffon 是一个用于创建 Java 桌面应用程序的 Groovy 框架。诚然,如果您还不了解 Groovy,则需要学习(某些部分)一门新语言才能有效地使用它,但在我看来,提高生产力是值得的。

    【讨论】:

    • 同意。当我写这个问题时,我对 groovy 还有些陌生,但在过去的几年里一直在写它。 Griffon 现在稍微成熟了一点,似乎是用于桌面环境的合理框架。
    • 值得一提的是,您也可以使用纯 Java 构建 Griffon 应用程序,参考 griffon.codehaus.org/guide/latest/guide/…
    【解决方案5】:

    您绝对应该使用带有 GUI builder 的 IDE。

    IntelliJ IDEANetBeans 有非常好的 GUI 构建器,它们允许您自动绑定对象,并且与完全手动创建 GUI 相比,它们将大大减少创建 GUI 所需的工作量。

    【讨论】:

    • 作为 UI 构建器的粉丝,我确实觉得我应该添加 - 如果您使用一个,请不要将好的标准扔出窗外。当您添加一个小部件时,请始终为它命名并避免双击自动添加侦听器垃圾。
    【解决方案6】:

    我同意其他人的观点,即绑定到 NetBeans 似乎很危险——尤其是在与其他开发人员合作时。我已经为 Eclipse 使用了(商业的)Swing Designer(通过“实例化”)插件并取得了很大的成功——我喜欢它的地方在于它可以往返,生成您可以手动更改的代码。不完美,但可以节省大量时间。

    但我的 Swing 编程最大的不同在于发现了更好的布局管理器。我从 FormLayout(好)到 TableLayout(更好),但现在我除了 MiGLayout 什么都不用(难以置信)。

    【讨论】:

      【解决方案7】:

      您可以尝试 ZK(用于构建企业 Web 和移动应用程序的最佳开源 Java 框架)。 http://www.zkoss.org/

      【讨论】:

        【解决方案8】:

        我不是 GUI 编程方面的专家,但您是否尝试过在您的应用程序中使用 NetBeans as a platform

        【讨论】:

        猜你喜欢
        • 2012-08-17
        • 2011-01-24
        • 2011-02-26
        • 2011-08-18
        • 2014-08-26
        • 2011-02-19
        • 2011-06-09
        • 1970-01-01
        相关资源
        最近更新 更多