Java 清除我的JFrame&;新游戏中的JPanel

Java 清除我的JFrame&;新游戏中的JPanel,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我有一个简单的JPanel,用于tic-tac-toe,绘制线条。。。 所以类TTT扩展了JPanel,并在其中保存了一个GameLogic对象 一切都很好,应用程序主要是一个JFrame添加TTT,一切都很好 但是,当我想重新启动一个新游戏时, 我在TTT中调用“restart”,基本上是这样做的:gameLogic=newgamelogic();&重新油漆() 现在我的数据数组是干净的,它应该只画线 无论如何,Windows都不会改变 我什么都试过了,运气不好。 有什么建议吗 GameBoa

我有一个简单的JPanel,用于tic-tac-toe,绘制线条。。。 所以类TTT扩展了JPanel,并在其中保存了一个GameLogic对象

一切都很好,应用程序主要是一个JFrame添加TTT,一切都很好

但是,当我想重新启动一个新游戏时,
我在TTT中调用“restart”,基本上是这样做的:gameLogic=newgamelogic();&重新油漆()

现在我的数据数组是干净的,它应该只画线

无论如何,Windows都不会改变

我什么都试过了,运气不好。 有什么建议吗

GameBoard.java:

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

//.....

public void Restart()
{
    GameLogic = new GameBoardLogic();
    removeAll();
    repaint();
}
Main.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();

“有什么建议吗?”“1)要更快地获得更好的帮助,请发布一个。2) 修复那个粘乎乎的“?”键。你要发布一个SSCCE吗?@也添加了代码。对不起,mKorbel,现在就试。没用。窗户关不开。与胜利图纸保持一致……您可以尝试在插入元素之前和之后进行重新验证。