1

我需要使用 swing 开发一些 java gui。
几年前,我确实在摇摆方面有所发展。
但是你看,这很累人,因为没有太多工具可以帮助你。

但我相信今天它应该更容易,必须有工具。
我想使用某种生成器,或者可能是实用程序,甚至是框架。
我知道 Eclipse 有一些插件,而 Netbeans 有一个很好的内置工具。我也听说过关于 Jide 框架的好消息。

但是,我真的不认识他们中的任何一个。

是否有您使用过并真正帮助过您的工具/实用程序/生成器/框架?

显然我更喜欢免费的东西,但如果你知道一些非常好的东西而且要花钱,那也可以。

谢谢你。

4

8 回答 8

2

我的建议是WindowBuilder Pro。它是一个 GUI 设计器,作为 Eclipse IDE 的插件提供。

您可以使用它来生成 Swing、SWT 或 GWT GUI,如果需要,甚至可以生成一些 Eclipse RCP 代码。我必须说它对我来说效果很好。不过,我没有使用它来生成任何 Swing 代码,因为我更喜欢使用 SWT。

于 2011-04-06T07:45:28.127 回答
2

多年来,我一直使用 NetBeans 内置的“Matisse”表单编辑器。它具有内置在 IDE 中的优势,因此表单编辑和代码生成相当无缝。如果您是 Swing 的新手,那么它会是一个很大的提升(只要您继续使用 NetBeans 作为您的 IDE)。

不过也有一些问题:

  1. 您不能轻松地将表单移动到另一个 IDE。生成的代码可能有效,但表单数据本身存储在 XML 文件中。
  2. 如果两个以上的人同时编辑一个表单,SVN/CVS 中可能会出现几乎无法协调的冲突。XML 并不是真正的人类可读的。
  3. 过去我发现表单 XML 文件会自行损坏,这会导致表单生成错误。
  4. 表单编辑器有时会产生自己的想法,当您做一些简单的事情(例如调整控件大小)时会破坏您的安排。

尽管如此,我仍然继续使用它,因为似乎没有其他东西对我有吸引力。

于 2009-11-12T17:26:46.403 回答
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 有一些插件来完成肮脏的工作,但和以前一样:你可以' t 集成得如此无缝。

于 2009-11-12T17:26:57.400 回答
1

我可以谦虚地建议 Metawidget 吗?

它采用了一种不同的 UI 开发方法——消除了许多容易出错、乏味的工作,同时仍保留了传统工具包的灵活性。它与您现有的前端(在您的情况下为 Swing)和后端(Java,我猜)集成,并在运行时工作(不生成代码)。

这里有一些简短的介绍视频:

http://metawidget.org/videos.html

如果您有机会看一看,我将非常感谢您的反馈。

问候,

理查德。

于 2010-01-29T03:30:39.410 回答
1

在 GUI Builders 方面,NetBeans 和 IDEA(现在随着 9.0 Beta 开源)都有免费的 GUI Builders。

GUI Builders 有 Jason 谈到的各种缺点。如果你想很好地控制正在发生的事情,但仍然想要一些理智的东西来手动编写复杂的 GUI,请查看MigLayout

于 2009-11-12T17:58:17.850 回答
1

Eclipse 的Visual Swing是一个很有前途的新贵。它不是世界上最稳定的东西,但它在代码中完成了所有表单的工作,因此在源代码管理中没有难以阅读和合并的单独文件。当您第一次尝试时,需要一些时间来适应。但是一旦你学会了解决这些错误,你就会很快开发出 Swing GUI。

于 2009-11-12T18:03:16.297 回答
1

如果您想使用 gui 构建器,我会使用 matisse,并且 Jason 提到了一些缺点,但是您还需要包含 matisse 布局使用的 jar 文件,这可能是也可能不是问题。

但是如果你打算开发 UI 的摇摆不定,你很快就会发现大多数 gui 构建器都有很多缺点,当你必须改变一些东西时,生成的代码并不总是清晰并且臃肿。你还会发现,一旦你熟练了,你可以比 gui builder 更快地写一个 ui,你会真正理解发生了什么。

所以我说远离 gui 构建器,你会创建更好和更易于维护的 UI,并且有一些时间和经验不会想要使用 gui 构建器。只需从一些关于布局的基本 Swing教程开始。

于 2009-11-12T18:46:05.353 回答
0

您可以使用ReflectionUI避免 GUI 构建器生成代码。

优点:您可以立即生成您的 GUI,然后您可以直观地对其进行自定义(或者如果您需要一些非常具体的东西,可以使用很少的代码)。

于 2021-08-05T17:39:49.883 回答