是否有任何IDE可以简化创建Swing应用程序(理想情况下是Visual Studio的内容)
像其他人提到的那样,NetBeans的可视化编辑器相当不错,但它基于Swing应用程序框架,因此您需要了解它如何正常使用它(尽管您不需要挖掘)在只是测试事情).
除此之外还有:
在IntelliJ IDEA的可视化编辑器(的特点Flash演示)
和Eclipse的Visual Editor
我个人使用过NetBeans和IDEA的可视化编辑器.两者都很好,但我认为NetBeans有一个优势,因为它不使用任何保存GUI结构的专有方法,而是执行类似于Visual Studio的操作 - 自动生成您可以添加的代码.IDEA将信息存储在单独的文件中,这意味着您必须稍后使用IDEA直观地编辑布局.
我没有使用过Eclipse的Visual Editor.
我的投票是针对NetBeans的可视化编辑器.我认为它满足了大多数人在可视编辑器中寻找的东西,并且保持足够的灵活性,可以通过代码手动插入漏洞,而不会影响可视化编辑器(因此您可以在代码和设计视图之间来回切换而不会破坏).
我喜欢的Swing GUI构建器从NetBeans IDE中.
对我来说,最好的可视化Swing编辑器是JFormDesigner,您可以单独运行或作为IntelliJ IDEA和Eclipse的插件运行.
它生成适当的(实际可读的)源代码,非常符合人体工程学和直观,最重要的是,它非常易于扩展.最后一点非常重要,因为如果你想构建一个像样的Swing应用程序,你将不得不扩展基本组件或使用一些第三方库,并且必须很容易将它们集成到可视化编辑器中.
这不是免费的,但是你获得的权力是便宜的(129欧元/ 159美元).我已经用了几年而且喜欢它.
有两个你可以使用(我已经使用它们,它们都非常强大,易于使用):
NetBeans,内置GUI Builder.
或者您可以使用:
带有Windowbuilder 插件的Eclipse
(它可以在这里和这里下载)
就个人而言,我更喜欢Eclipse和Windowbuilder,但那只是我.你可以使用任何一个.
这是Windowbuilder插件的图片:
这是NetBeans内置GUI Builder的图片:
Netbeans有一些GUI构建支持,它是市场上最流行的Java IDE之一.看看吧.
尝试Instantiations的Windows Builder Pro.它包括Swing Designer,它是一个Swing UI构建器.它基于Eclipse.
Abeille非常好,基于JGoodies FormLayout.与几乎所有其他Java GUI构建器不同,Abeille默认不生成代码.在我使用它的项目中,避免阅读或滚动布局代码是非常好的(因为该代码不再存在).我们的大多数手写代码都关注将事件连接到操作,只需询问相关控件的布局.
代码生成是在Java中布局代码的默认方式,这是一种犯罪,因为更好的GUI方法已经存在了几十年.我使用了NetBeans GUI代码生成器Matisse.而Matisse(现称为" Swing GUI Builder")使组件布局愉快,它类似于所有其他代码生成工具,因为当您使用Matisse时,您必须始终担心其他人编辑了NetBeans之外的"您无法在NetBeans中编辑此GUI"部分.当你再次触摸布局构建器时,它可能会破坏他们的工作,然后你就会有一个破碎的GUI.可能有一些简单的任务,比如重新排序变量初始化及其使用或重新命名变量(这在使用时尤其是一个问题) Matisse的数据库功能).你知道如何通过编辑不可编辑的源代码来做到这一点,但可能会浪费时间试图弄清楚如何在GUI构建器中做同样的事情.像大多数代码生成工具一样,它可能会让你开始,但最终你必须自己维护生成的代码.
WindowBuilder Pro for Eclipse
自由!
它适用于现有代码,不会锁定您(与NetBeans相对)
它适用于MiGLayout
但它确实有一些您的视图类必须遵循的约定.
在Eclipse v4.2(Juno)中安装:
转到 - 菜单帮助 → 安装新软件 ...
选择 - 使用:Juno - http://download.eclipse.org/releases/juno.
WindowBuilder项目位于"通用工具"(或使用过滤器)下.
较旧的版本和拉链可在http://www.eclipse.org/windowbuilder/download.php上找到.
NetBeans的最新版本包括一个非常简单的Swing可视化编辑器,名为Matisse
马蒂斯
我对NetBeans有很好的经验.如果您了解这些应用程序的每个小部分,那就太容易了.
最复杂的部分是使用,例如,布局(如果你不能处理复杂的部分),但一切都几乎即插即用.
此外,您可以放入JFrame
其他帧而不为此创建另一个帧类.我认为那会很好.