WindowListenerインタフェースを実装したクラスは、WindowListenerに定義されているメソッドをすべて定義しないといけない・・・。
しかし、ウィンドウを閉じる処理だけなら、windowClosingとwindowClosedだけオーバーライドしておけば十分・・・。
WindowAdapterは、WindowListenerなどを実装した抽象アダプタクラスで、このクラスを継承すれば、必要なメソッドだけオーバーライドして処理を定義できる・・・。
WindowAdapter (Java Platform SE 6)
WindowAdapterと匿名クラスを使って、MainClassの中でウィンドウの閉じる処理を書く・・・。
frame.addWindowListenerにWindowListenerを実装した派生クラスのインスタンスではなく、WindowAdapter派生の匿名クラスオブジェクトインスタンスを直接渡している・・・。
WindowAdapterはWindowListenerを実装しているので、addWindowListenerに渡せるし、再定義したいメソッドのみオーバーライドすればいい・・・。
windowClosedとwindowClosingだけオーバーライドして、閉じる処理を書いている・・・。
これでも表示したウィンドウを閉じれる・・・。
Sample/MainClass.java at master · bg1bgst333/Sample · GitHub