java - JPanel 的精确副本或撤消..建议

标签 java clone jpanel undo

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

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

最佳答案

您能做的最好的事情就是将数据与用户界面分开。

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

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

关于java - JPanel 的精确副本或撤消..建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480313/

相关文章:

java - 如何使jOOQ引用保留关键字的表名?

java - Cassandra 中未排序的 map 类型

jQuery UI - 在放置事件后克隆可放置/可排序列表

docker - 将具有数据的Docker容器克隆到另一个主机

java - 如何将两个 JPanel 添加到 JFrame 的中心?

java - 找出每个线程中 hibernate 的确切时间

java - 如何加密资源文件?

java - 如何确保在 Apache Commons CLI 中提供所有参数?

java - 返回集合的副本或克隆以防止可变性

java - 如何使 JPanel 的大小适应窗口的大小