gpt4 book ai didi

java - 在新游戏中清除我的 JFrame 和 JPanel

转载 作者:搜寻专家 更新时间:2023-10-31 19:40:48 25 4
gpt4 key购买 nike

我有一个简单的井字游戏 JPanel,画线...所以 TTT 类扩展了 JPanel,并在其中包含一个 GameLogic 对象。

一切都很好,应用程序是 Main 中添加 TTT 的 JFrame,一切都很好。

但是,当我想重新开始一个新游戏时,
我在我的 TTT 中调用“重启”,基本上是这样做的:gameLogic = new GameLogic(); &重绘();

现在我的数据数组是干净的,它应该只绘制线条..

Windows 根本没有改变。

我已经尝试了所有方法,但没有成功。有什么建议吗?

游戏板.java:

public class GameBoard extends javax.swing.JPanel {
private GameBoardLogic GameLogic;

//.....

public void Restart()
{
GameLogic = new GameBoardLogic();
removeAll();
repaint();
}

主要.java:

public class Main {
private static GameBoard TTT;
private static JFrame application;

public static void main(String[] args) {

application = new JFrame("Tic-Tac-Tow");
TTT = new GameBoard();
application.add(TTT);
application.setSize(350, 350);
application.setVisible(true);
//.....

if ( JOptionPane.showConfirmDialog(null, "Do you want to play again?") ==
JOptionPane.YES_OPTION )
{
application.removeAll();
TTT.Restart();
application.add(TTT);
application.validate();
}

最佳答案

这对我有用

panel.removeAll();
//add your elements
revalidate();
repaint();

关于java - 在新游戏中清除我的 JFrame 和 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10367722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com