【问题标题】:Exact Copy of a JPanel or Undo.. suggestionsJPanel 或撤消的精确副本.. 建议
【发布时间】:2011-07-25 17:13:24
【问题描述】:

所以在我的程序中,我有一个 JPanel(称为 squareContainer),其中有 JPanel,它们在 Bubble Breaker 游戏中充当气泡。无论如何,我的想法是我希望计算机模拟移除气泡以找出最好移除的气泡,但是当这种情况发生时,它实际上会玩游戏并且不仅会做出“最佳”动作。所以我想知道是否可以复制我的 squareContainer JPanel 的确切状态,包括里面有什么气泡等等。这样当计算机模拟播放它并且基本上完成所有动作时,我可以简单地用克隆替换它所以我恢复我的初始状态,以及最佳移动的信息。

请注意,我已经掌握了最佳操作的信息,但无法找出撤消对 JPanel 的编辑的最佳方法……请问有什么想法吗?

【问题讨论】:

    标签: java clone jpanel undo


    【解决方案1】:

    您能做的最好的事情就是将您的数据与您的 UI 分开。

    您的 UI 应该根据仍然可用的气泡的某些内部状态来呈现 JPanel。

    理论上,您可以以文本格式查看其状态,例如System.out.println(...)。通过这种方式,您将能够复制该状态并将其发送到您的模拟器。

    【讨论】:

    • 那会被称为MVC ;-)
    • @Matt ehhh 好的,我会继续的。我通常将 MVC 与“一个 MVC 框架”相关联,而“将 UI 与业务逻辑分离”只是一种很好的做法。
    • 我不确定我是否理解您的意思,我在 JPanel Grid 中播放气泡的方式是随机的,因此会放置随机颜色的气泡。但我想在编辑之前复制生成的状态。
    • @user 我的意思是数据不应该存储在 JPanel 中——它们应该只显示信息——它们显示的内容应该在应用程序的单独层中。
    猜你喜欢
    • 2010-10-18
    • 2010-11-17
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    相关资源
    最近更新 更多