以下代码应该重置框架gameFrame:
private void reset()
{
moveCount = 0;
gameFrame.setVisible(false);
gameFrame.getContentPane().removeAll();
gameFrame.getContentPane().revalidate();
gameFrame.getContentPane().repaint();
board.newBoard();
createGameUI(board.getWidth(),board.getHeight());
gameFrame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
但是,它只能通过首先将gameFrame的可见性设置为false,删除所有组件,添加一组新组件,然后将gameFrame设置为可见来实现.
这样做的正确方法是什么?
谢谢,
奥利
编辑:
我试过做:
private void reset()
{
moveCount = 0;
//gameFrame.setVisible(false);
gameFrame.getContentPane().removeAll();
createGameUI(board.getWidth(),board.getHeight());
gameFrame.getContentPane().revalidate();
gameFrame.getContentPane().repaint();
//gameFrame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
但是,当按下重置按钮时,现在只是冻结程序.