所以,我一直在处理一个重置按钮,我需要帮助,因为当我需要它来替换旧的而不是添加它时,程序只是创建了一个额外的副本。 (这是一个java测验游戏,顺便说一句)
以下是所有代码https://gist.github.com/anonymous/522b2a89ba2fc6750d2e
的链接这是我特别需要帮助的代码:
if(src.equals(restart)){
quiz.showRestartSummary();
//quiz.restart(); not important right now
JavaQuiz quiz2=new JavaQuiz();
答案 0 :(得分:0)
您遇到问题的原因是您在没有处置当前正在执行的测验的情况下创建测验的新实例。
我在JavaQuiz类中的restart()方法中添加了以下行,它将关闭之前创建的jframe:
this.dispose();
另外
您可以将一个windowClosing事件发送到jframe,如下所示:
this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
进行以下更改:
public void restart(){
//wrongs=0;
//total=0;
// Change should be made here.
this.dispose();
}