2009-09-08 112 views
25

我用Java编写应用程序,并且正在寻找加速GUI编程的方法。绑定框架有所帮助,但我现在正在使用的特定应用程序不会从中受益太多(它不会显示大量数据,只是操纵数据的很多方法)。我觉得我花了太多时间编写锅炉图形用户界面代码,比如添加动作监听器,布置组件等。虽然我不是C#开发人员,但我听说XAML工作得很好,并且看到了JAXX,它似乎与XAML类似。我也在看Groovy Swing Builder。它似乎有这么多的选择,甚至可能太多。Java GUI替代方案

任何人都可以分享他们的想法替代手写简单的Java UI代码?

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

感谢, 杰夫

+5

我已经避免编写Java GUI应用程序,因为这一点。我有兴趣看到建议。 – 2009-09-08 01:58:34

+2

直到我尝试使用Netbeans的GUI创建者时,我才有同样的感觉。此外,玩了一下JavaFX,我认为它可以真正加快GUI(但没有太多时间玩它)。 – NawaMan 2009-09-08 02:01:19

+0

我已经考虑过使用GUI创建器,但我想我只是觉得有太多的GUI代码生成(类似于手写它)。真正的GUI创建者可以帮助加速这个过程,但它并没有消除那些往往会出现在各处的锅炉代码(我知道,在引擎盖下,像XAML这样的东西在运行时仍然会生成代码,但至少你不会'不得不维护代码)。 – 2009-09-08 02:05:50

回答

3

Griffon是一个用于创建Java桌面应用程序的Groovy框架。无可否认,如果您还不知道Groovy,您需要学习(某些部分)新语言才能有效使用它,但提高生产力是值得我努力的。

+0

同意。当我写这个问题的时候,我对groovy还是有些陌生,但是在过去的几年里一直在写它。 Griffon现在已经有点成熟了,似乎是一个适用于桌面环境的合理框架。 – 2013-10-02 02:28:54

+1

值得一提的是,您也可以使用纯Java构建Griffon应用程序,请参阅http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts以供参考。 – aalmiray 2013-10-05 11:00:50

1

我在GUI编程专家,但你尝试过使用NetBeans as a platform为您的应用程序?

+0

它似乎是为了更大的应用程序。这可能会适得其反。看到这个“介绍”:http://netbeans.dzone.com/videos/free-netbeans-platform-crash – OscarRyz 2009-09-08 02:31:51

5

我推荐使用Clojure 它允许您快速编写Java GUI,而不需要样板文件。

3

你绝对应该使用带有GUI构建器的IDE。

IntelliJ IDEANetBeans具有非常好的GUI构建器,它们允许您自动绑定对象,并且会大大减少创建GUI所需的工作量,而不是完全用手完成。

+0

作为UI制造商的粉丝,我觉得我应该加上 - 如果你使用一个不要扔出好标准的窗户。当你添加一个小部件时,总是要命名它并避免双击自动添加侦听器垃圾。 – 2009-09-08 11:22:29

7

布局:

对于布局,我都赞成JGoodies Forms工具的放弃了JDK布局管理器。我觉得它更有效。它读取的层次更高,并大大减少了与布局相关的代码量。

+0

同意。我也使用它。绝对有帮助。 – 2009-09-08 13:29:10

+0

如果在UI中只有表单,DesignGridLayout也可以为布局方面提供很多帮助。 – jfpoilpret 2009-09-11 06:45:08

+0

JGoodies表格 – 2009-09-15 20:41:06

3

我同意别人的看法,认为绑定到NetBeans似乎很危险 - 特别是在与其他开发人员合作时。我已经使用Eclipse的(商业)Swing Designer(通过“instantiations”)插件获得了相当多的成功 - 我喜欢它的事情是它往返,生成可自由更改的代码。不完美,但节省时间。

但是我的Swing编程最大的不同在于发现了更好的布局管理器。我从FormLayout(好),TableLayout(更好),但现在我不使用任何东西,但Mirage(不可思议)。

10

如何使用MiGLayout

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

+0

我会检查一下。谢谢。 – 2009-09-25 12:14:15

+0

MigLayout使开发变得非常简单和容易。 – binarycreations 2011-07-28 10:47:29

2

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