【问题标题】:Best practises for making Java GUI's with Swing? [closed]使用 Swing 制作 Java GUI 的最佳实践? [关闭]
【发布时间】:2020-06-27 17:57:45
【问题描述】:

我正计划制作一个大型项目,该项目将使用 Java Swing 来创建 GUI。

当我对每一帧进行编码时,我打算如何使用最佳实践来设置文件。我看到不同的人使用不同的东西,例如:

  • 创建一个显示所有 UI 组件的初始化 UI 函数
  • 而其他人只是将其放入框架的构造函数中

为了使用 Swing 制作可扩展的 Java GUI,构建代码的最佳实践是什么?

【问题讨论】:

  • 而其他人只是将其放入框架的构造函数中 - 您不应该将代码放入框架的构造函数中,因为您不应该扩展 JFrame。仅在向类添加功能时才扩展类。向框架添加组件并不是向框架添加功能。
  • @camickr 如果我将代码放入构造函数中,我可以将其设置为不需要扩展 JFrame 的方式,我现在认为这是不好的做法。我可以在构造函数之外创建一个对象,它是一个 JFrame,然后在构造函数中使用它,还是应该使用某种 initialiseGUI() 函数?
  • 作为提示,我强烈推荐 JavaFX 用于这类项目,因为 Gui 组件看起来比 swing 的组件好得多。
  • @J.Lengel 我将使用 FlatLaf lookAndFeel 来使我的 GUI 看起来不错:formdev.com/flatlaf
  • “Best practice”是一个广泛的笔刷。您应该编辑您的问题以专注于您的特定问题,否则,您似乎在寻求教程,这在此处是不允许的。

标签: java swing user-interface conventions calling-convention


【解决方案1】:

实际上,我确实对您有一些建议。

我建议您使用模型-视图-控制器 (MVC) 架构。下面是一个使用 Poker 的示例。

  1. 从模型开始:扑克中需要哪些数据元素?

Player 类,跟踪钱 Card 类,代表卡片 Hand 类,代表玩家的手牌

  1. 接下来,实现控制器

PokerGame 类,用于跟踪玩家和他们的牌/手牌,以及他们在转牌时加注、停留和弃牌的选项。

  1. 一旦您的模型和控制器经过测试并正常工作,您就可以开始围绕它构建一个 (SWING) GUI。

首先要建立 GUI 的基础。

【讨论】:

  • 所以我应该为扩展对象的 GUI 的每个组件创建一个类。例如,我有一个名为MyGUI 的类,我想添加一个JLabel 我应该创建一个扩展JLabel 的子类并在其中定义属性?然后我可以重复 GUI 中的每一帧,正如我从这篇文章中了解到的那样。
  • @TheManWhoNeedsToMakeAGreatGUI "所以我应该为扩展对象的 GUI 的每个组件创建一个类...我想添加一个 JLabel 我应该创建一个扩展 JLabel 的子类并定义属性在那里?“为什么?这个答案的哪一部分让你这么认为?
  • @Pshemo 我是通过跟踪我可能需要的不同对象来获得它的,例如“A Player 类,以跟踪金钱”所以我将其解释为处理特定框架的类具有不同类的组件的 GUI,以便对其进行跟踪。
猜你喜欢
  • 1970-01-01
  • 2011-09-11
  • 2016-05-21
  • 2011-11-17
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 2018-02-25
相关资源
最近更新 更多