Java 清除我的JFrame&;新游戏中的JPanel
我有一个简单的JPanel,用于tic-tac-toe,绘制线条。。。 所以类TTT扩展了JPanel,并在其中保存了一个GameLogic对象 一切都很好,应用程序主要是一个JFrame添加TTT,一切都很好 但是,当我想重新启动一个新游戏时,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
我在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,现在就试。没用。窗户关不开。与胜利图纸保持一致……您可以尝试在插入元素之前和之后进行重新验证。