手动关闭 java swing window

Closing java swing window manually

我有一个小游戏,其中一个 window 在游戏结束时打开另一个。 我只想结束游戏 window。

this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); 

但这会关闭两者 windows。 如何只关闭第二个window?

它可以通过

从游戏结束 window 本身关闭
this.dispose();

或被

隐藏
this.setVisible(false);

您还可以更改关闭行为(假设默认值为 HIDE_ON_CLOSE 的 JDialog)

this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

如果您需要从父对象 JFrame 关闭它,请不要使用 this,而是针对对象

gameOverDialog.dispose();