java - 如何使用 Java Swing 和 MVC 进行真正的 GUI 开发

标签 java model-view-controller swing

我正在创建一个 Blackjack Card 游戏模拟器。我是 SCJP,熟悉核心 Java 概念。我对 Java swings 和 awt 有非常基本的了解。 已经写完了基本的游戏逻辑,一个CLI逻辑。我的设计包括几个类,例如, 经销商、玩家、赌 table 、纸牌、赌场和其他一些...... 卡片和套件的枚举。

我读过 MVC 作为一个理论概念,熟悉“设计模式”这个名称(完全不了解它们是如何实现的)建议我在编写一些实际代码时学习的所有地方。所以我从这个开始...

我现在卡住了,我应该如何为我的项目编写代码??编写 GUI 代码并将其组织在已经存在的代码中。

最佳答案

我花了很长时间才学习 MVC(我在大学里被教导了一些错误的东西,而且当时很多在线资源都是错误的)。无论如何,你需要做的核心是在你的模型中没有任何 View 信息(即,玩家在屏幕上的样子,帧缓冲区,模型的多边形)。相反,您在单独的命名空间中创建 View 和模型,然后使用事件将两者链接在一起。当有时在您的模型中发生时, View 会收到通知,并对 View 进行更改。此外,当按下鼠标或按下某个键时,输入事件将转换为另一个面向模型的事件,该事件可以采取对模型进行方法调用的形式。模型中的任何更改都会反馈到 View 中。

记住这一点:模型应该在没有附加 View 的情况下正常运行,并且在执行时不应在屏幕上显示任何内容(可能控制台中的调试信息除外)。

关于java - 如何使用 Java Swing 和 MVC 进行真正的 GUI 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2320655/

相关文章:

java - 大型项目代码格式化的最佳实践

java - 在Java中实现组合的好方法是什么?

java - spring 上下文未加载

java - 直接访问类似于数组的 vector 元素

java 组合框自动完成

java - 进度条 + Java 中的 MVC =?

asp.net-mvc - 如何判断 MVC AsyncController 线程是否在 ASP.NET 池或 I/O 完成端口中执行

php - Codeigniter - 将用户输入的密码与存储在数据库中的散列密码进行匹配始终返回 false。请帮忙

java - 在 Install4j 中创 build 置时将 Java 应用程序启动

Java KeyListener 断断续续