我需要使用swing开发一些java gui。
几年前,我确实有一点摆动。
但是,你知道,这种情况非常令人筋疲力尽,因为没有太多工具可以帮助你。
但我相信今天它应该更容易,必须有工具。 我想使用某种发电机或者公用设施甚至是框架。 我知道Eclipse有一些插件,而Netbeans有一个很好的内置工具。我也听说过Jide框架的好消息。
但是,我真的不知道他们中的任何一个。
您是否使用过工具/实用程序/生成器/框架并真正帮助过您?
显然我更喜欢免费的东西,但如果你知道的东西真的很好并且花钱,那也可以。
谢谢。
答案 0 :(得分:2)
很多年以来,我一直使用内置“Matisse”表单编辑器的NetBeans。它具有内置于IDE中的优势,因此表单编辑和代码生成相当无缝。如果您是Swing的新手,那么可以大大提升(只要您继续使用NetBeans作为IDE)。
但是有一些问题:
尽管如此,我还是继续使用它,因为没有别的东西对我有吸引力。
答案 1 :(得分:2)
实际上,到目前为止我写的Swing帧的更快的方法是使用Groovy SwingBuilder,但你必须在项目中包含groovy的jar来使用它。这是从他们的网站上取得的一个例子,它主要是同义糖,但它有助于:
def frame = swing.frame(title:'Frame', defaultCloseOperation:JFrame.EXIT_ON_CLOSE, pack:true, show:true) {
vbox {
textlabel = label("Click the button!")
button(
text:'Click Me',
actionPerformed: {
count++
textlabel.text = "Clicked ${count} time(s)."
println "Clicked!"
}
)
widget(sharedPanel())
widget(sharedPanel())
}
}
否则有一些“可视化”方法解决问题,但它们不允许您如此快速地与您编写的接口集成(例如jvider),NetBeans和Eclipse有一些插件来执行脏工作但和以前一样:你无法整合这么无缝。
答案 2 :(得分:2)
我的建议是WindowBuilder Pro。它是一个GUI设计器,作为Eclipse IDE的插件。
您可以使用它来生成Swing,SWT或GWT GUI,如果需要,甚至可以生成一些Eclipse RCP代码。我必须说它对我来说效果很好。我没有使用它来生成任何Swing代码,因为我更喜欢使用SWT。
答案 3 :(得分:1)
就GUI构建器而言,NetBeans和IDEA(现在使用9.0 Beta开源)都有免费的GUI构建器。
GUI构建器具有Jason所说的各种缺点。如果您希望对正在发生的事情有良好的控制,但仍希望手动编写复杂的GUI,请查看MigLayout。
答案 4 :(得分:1)
Eclipse的Visual Swing是一个很有前途的新贵。它不是世界上最稳定的东西,但它在代码中完成所有形式的东西,因此没有单独的文件难以在源代码控制中读取和合并。当你第一次尝试时,需要一些时间来适应。但是一旦你学会了解bug,就可以快速开发Swing GUI。
答案 5 :(得分:1)
如果你想使用gui构建器,我会选择w / matisse,并且Jason提到了缺点,但你还需要包含matisse布局使用的jar文件,这可能是也可能不是问题
但是,如果你要开发UI,你很快就会发现大多数gui构建器都有许多缺点,当你必须改变某些东西时,生成的代码并不总是清晰而且臃肿。你也会发现,一旦你变得精通,你就可以比gui建造者更快地写一个ui,你会真正理解发生了什么。
所以我说远离gui构建者,你将创建更好,更易维护的UI,并且有些时间和经验不会想要使用gui构建器。在布局上开始使用一些基本的Swing tutorials。
答案 6 :(得分:1)
我可以谦虚地建议Metawidget吗?
它采用了不同的UI开发方法 - 在保留传统工具包的灵活性的同时,消除了大量容易出错的繁琐工作。它集成了您现有的前端(Swing,在您的情况下)和后端(Java,我猜),并在运行时工作(无代码生成)。
这里有一些简短的介绍视频:
http://metawidget.org/videos.html
如果你有机会看看,我会非常感谢你的反馈。
此致
理查德。
答案 7 :(得分:0)
您可以使用 ReflectionUI 避免 GUI 构建器生成的代码。
优点:您可以立即生成您的 GUI,然后您可以直观地对其进行自定义(或者,如果您需要非常具体的内容,则只需很少的代码)。