나는 Java 게임을 만들었고 GameOver 메서드를 구현했습니다. 이것은 내가 게임 오버 방법에 대한 코드입니다 :닫기 Java 프레임
public void gameOver() throws IOException {
String message = "Game, Want to try Again?";
String title = "Game Over";
int reply = JOptionPane.showConfirmDialog(frame, message, title, JOptionPane.YES_NO_OPTION);
if (reply == JOptionPane.YES_OPTION){
new Game();
} else {
this.getSoundEffect().stopAllMusic();
new Main().setVisible(true);
}
}
내가 가지고있는 문제는 원래 프레임을 닫는 것입니다. 예 : 예를 클릭하면 게임 프레임이 열립니다. 그러나 이미 열려 있으므로 게임의 두 인스턴스가 작동합니다.
그냥 난 다음 옵션을 시도, 너희들 알려 :frame.dispose();
WindowEvent wev = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(wev);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
나는 또한의 actionPerformed 이벤트를하고 생각했다, 그러나, 나는 인해위한 JOptionPane이 INT 인 할 수 없습니다.
이 것을 확인하고 싶을 수도 있습니다 ... http : //stackoverflow.com/questions/6260855/how-to-clear-reset-a-jframe –
이미 열려있는'Game' 객체에 대한 참조를 보관 했습니까? –
@Aubin, 그러면 전체 시스템이 닫히고 다른 Java 클래스를 열 수 없습니다. –