Java GUI替代方案

Java GUI替代方案,java,user-interface,swing,Java,User Interface,Swing,我用Java编写应用程序,我正在寻找加速GUI编程的方法。绑定框架有帮助,但我现在正在开发的特定应用程序不会从中获得太多好处(它不会显示很多数据,只是有很多方法来操作数据)。我觉得我花了太多的时间来编写boiler plate GUI代码,比如添加动作监听器、布置组件等等。虽然我不是C#开发者,但我听说XAML工作得很好,也见过JAXX,它似乎与XAML类似。我还研究了Groovy Swing Builder。似乎有太多的选择,甚至可能太多了 除了手工编写简单的JavaUI代码,还有谁能分享他们

我用Java编写应用程序,我正在寻找加速GUI编程的方法。绑定框架有帮助,但我现在正在开发的特定应用程序不会从中获得太多好处(它不会显示很多数据,只是有很多方法来操作数据)。我觉得我花了太多的时间来编写boiler plate GUI代码,比如添加动作监听器、布置组件等等。虽然我不是C#开发者,但我听说XAML工作得很好,也见过JAXX,它似乎与XAML类似。我还研究了Groovy Swing Builder。似乎有太多的选择,甚至可能太多了

除了手工编写简单的JavaUI代码,还有谁能分享他们的想法吗

此外,我还想讨论如何迁移现有的JavaSwing代码以使用其中一些选项

谢谢,
Jeff

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

我建议使用
它允许您在没有样板文件的情况下快速编写Java GUI。

您肯定应该使用带有GUI生成器的IDE

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

布局:


对于布局,我放弃了JDK布局管理器,转而使用该工具。我发现它更有效。它以更高的级别读取,并显著减少了与布局相关的代码量。

我同意其他人的观点,即捆绑到NetBeans似乎很危险,尤其是在与其他开发人员合作时。我在Eclipse中使用了(商业)Swing Designer(通过“实例化”)插件,取得了很大的成功——我喜欢它的一点是它可以来回运行,生成您可以手动修改的代码。不是很完美,但是很节省时间

但是我的Swing编程最大的不同在于发现了更好的布局管理器。我从FormLayout(很好)改为TableLayout(更好),但现在我只使用MiGLayout(难以置信)。

如何使用

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

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

您可以尝试ZK(构建企业web和移动应用程序的最佳开源Java框架)。

因此,我尽量避免编写Java GUI应用程序。我也很想看到一些建议。在我尝试使用Netbeans的GUI创建者之前,我也有同样的感觉。另外,稍微玩一下JavaFX,我认为它确实可以加快GUI的速度(但还没有太多时间玩)。我考虑过使用GUI创建者,但我想我只是觉得生成的GUI代码太多了(类似于手工编写)。诚然,GUI创建者有助于加快流程,但它并没有消除到处都会出现的锅炉板代码(我知道在运行时,XAML之类的东西仍然会生成代码,但至少您不必维护代码)。您不必“维护UI生成器生成的代码”。您可以使用Netbeans的编辑器维护Netbeans创建的XML文档。使用良好的Netbeans可以创建一个好的、易于维护的UI。但您必须接受,UI将仅使用Netbeans编辑器创建和维护。样板文件是存在的,但它是折叠的,坦率地说,如果您正在查看生成的.java文件中的几乎所有代码,那么您使用的UI生成器是错误的。没错,但我也不喜欢与Netbeans绑定的想法。并不是这里的每个人(包括我自己)都使用它。它似乎适用于更大的应用程序。这可能会适得其反。看看这个“简介”:作为UI构建者的粉丝,我确实觉得我应该补充一点——如果你使用一个,不要把好的标准扔出窗外。当你添加一个小部件时,一定要给它起个好名字,避免双击自动添加侦听器垃圾。同意。我也用这个。确实有帮助。如果您的UI中只有表单,DesignGridLayout在布局方面也会有很大帮助。MigLayout使开发对我来说非常简单和容易。同意。当我写这个问题时,我对groovy还是有点陌生,但在过去的几年里我一直在写这个问题。Griffon现在有点成熟了,似乎是一个用于桌面环境的合理框架。值得一提的是,您也可以使用纯Java构建Griffon应用程序,请参阅以供参考。