【问题标题】:How to learn Java Swing and make GUIs quickly?如何快速学习 Java Swing 并制作 GUI?
【发布时间】:2012-06-23 10:07:30
【问题描述】:

过去一年我一直在使用 Java 进行编码,我认为我有可靠的 OO 和 基本的OOD技能。我希望在不复杂的现有项目之上构建一个 Java GUI,但我想尽快完成它。因此,我正在寻找一种 API,它可以抽象出所有细节实现,让我专注于我的最小可行产品的核心。

我真的更喜欢使用 Eclipse 进行编码,而不是浪费时间尝试学习习惯另一个 IDE。你会建议我做什么?

【问题讨论】:

  • “你建议我做什么?” 由于需要时间来理解布局以制作可调整大小的跨平台 GUI,并且考虑到您的时间限制,我建议你雇人。
  • @AndrewThompson 我并不是说我想要一个 VB 风格的组件移动器,但是有很多方法可以解决这个问题,所以我只是询问 ST 用户,以便他们根据他们的经验建议我。跨度>
  • 我第二个@AndrewThompson。如果它是那么简单明了,那么 SO 上的 Swing 标签就不会有那么多问题了。但我建议从 Oracle Swing 布局管理器教程开始

标签: java swing user-interface


【解决方案1】:

这里是秋千速成课程。

首先要学习的是layout managers。这是最大的障碍,它们很挑剔,你必须掌握它们。

其次是听众,没有他们什么都不会发生。

第三是 JComponents 本身,你会慢慢学习它们。我建议使用 NetBeans GUI builder 来玩弄它们并感受一下它们。

请注意,大多数 JComponent 都有不同的模型可供您使用,而不是默认模型。

此外,我能找到的 JPanel 和 JComponents 之间的唯一区别是 JPanel 具有布局管理器。

这里是各种挥杆技巧和教程的好地方:

 http://www.java2s.com/Tutorial/Java/0240__Swing/Catalog0240__Swing.htm

 http://www.java2s.com/Code/Java/Swing-Components/CatalogSwing-Components.htm

【讨论】:

    【解决方案2】:

    嗯,实际上 Netbeans 中的 GUI Builder 是您快速创建 GUI 的最佳选择。如果您脑海中有关于它应该是什么样子的图片,您可以在几分钟内完成。之后,唯一要做的就是将其绑定到您的应用程序;更具体地说:让按钮的 ActionListeners 做他们应该做的事情。

    这当然取决于应用程序的大小。如果它很小,那么为它制作一个 GUI 很容易。另一方面,如果它有 2000 个类,那么它可能会更复杂,因为 GUI 可能会更复杂。

    如果应用程序可以建模为模型-视图-控制器架构,那将对您有很大帮助。

    【讨论】:

    • 呃,他不是告诉我们一些关于“更喜欢用 eclipse 编码”和“不要浪费时间去学习习惯另一个 IDE”的事情吗? Netbeans 完全符合“另一个 IDE”的要求:D
    • @Andreas_D 是的,你是对的。但我认为 Netbeans 中的 GUI Builder 是最好的。我认为X + Y < Z。 X = 学习如何在 Netbeans 中使用 GUI Builder 所需的时间。 Y = 使用 GUI Builder 构建 GUI 所需的时间。 Z = 在 Eclipse 中构建 GUI 所需的时间。
    • eclipse.org/windowbuilder(不过,老实说,我还是更喜欢老式的方法:用笔和纸直接起草布局和编码)
    【解决方案3】:

    我想你会发现在 Java 中没有王道的 GUI 方式。每种方法都是(*)中的痛苦。即使您使用可视化 GUI 构建器,在 (*) 中仍然会很痛苦。作为对技能的长期投资,我建议您硬着头皮学习以编程方式构建 GUI。无论如何,这就是每个有经验的 Swing 开发人员都会做的事情,所以最好直接朝着那个目标前进。您也可以从 SWT/JFace 开始,但 APi 比 Swing 更难、更古怪。 RCP 比 SWT/JFace 又增加了一层古怪和复杂性,所以我会在还是初学者的时候远离它,事实上,除了制作大型 GUI 应用程序外,任何时候都不会这样做。

    【讨论】:

      【解决方案4】:

      在我看来,eclipse RCP 可能是您的朋友(如果您正在寻找富客户端解决方案)。只需获取一个用于插件开发的 Eclipse 发行版(比将插件安装到现有副本要快得多),创建一个示例项目并开始 hacking。

      对于网络应用程序,我推荐使用 playframework。它与 eclipse 集成得很好。

      【讨论】:

      • 还有 NetBeans 平台,如果您更喜欢 Swing 而不是 SWT。但是学习 RCP 需要时间。
      • 我不会向任何寻求快速制作 GUI 方法的人推荐 RCP。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多