【问题标题】:Problems separating GUI from logic将 GUI 与逻辑分开的问题
【发布时间】:2014-01-16 01:33:46
【问题描述】:

我目前正在学习 Java,想给自己一个既具有挑战性又有趣的项目。我决定制作一款我记得小时候玩过的游戏,叫做 dopewars。

这是我第二次尝试这个游戏。当我开始第一次尝试时,一切都很顺利。不久之后,我的源代码开始疯狂地填充,直到我无法继续,因为我一直迷失在堆积如山的代码中。

然后我决定重新开始,只是这次我想将 gui 与逻辑分开(2 个不同的 .java 文件)。这就是我的问题所在。以前这可以正常工作。自从分离我的 java 文件后,功能就停止了。

当我按下 jbutton b1 时,我的程序应该获取可卡因的价格值和用户在 jtextfield 中输入的单位值,通过访问 Buy.java 中的方法执行计算,然后更新适当的 JLabels在 GUI.java 的 jpanel 中。

例如,用户 x 想以指定的价格购买可卡因,因此他输入了一个代表他想要的数量的值。然后,他按下购买按钮,最终通过使用 Buy 类中的方法从他的口袋中扣款,显示在程序窗口的左侧。

我希望您能理解我的解释,并希望尽快收到您的来信。提前致谢。我的源代码如下。

【问题讨论】:

  • 美国国家安全局全都在这件事上。
  • 他们已经剥离了代码!
  • 您是说只有两个类,还是将多个类打包在一个 .java 文件中?
  • 基本上,您需要实现一个Observer Pattern,它将模型的更改与UI分开,因此模型没有UI的概念,只是在UI发生更改时发出通知做出反应
  • 我正在制作 2 个 .java 文件

标签: java class user-interface get logic


【解决方案1】:

也许您应该制作一个 main.java(带有 GUI 等)和一个 logic.java(或任何您想调用的名称)并让主类扩展逻辑类。要解决你的jbutton问题,你可能应该让Main类扩展JFrame类,并实现ActionListener接口,然后在ActionPreformed方法中,从逻辑类调用一个方法来做逻辑。我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多