読者です 読者をやめる 読者になる 読者になる

WindowAdapter

WindowListenerインタフェースを実装したクラスは、WindowListenerに定義されているメソッドをすべて定義しないといけない・・・。
しかし、ウィンドウを閉じる処理だけなら、windowClosingとwindowClosedだけオーバーライドしておけば十分・・・。

WindowAdapterは、WindowListenerなどを実装した抽象アダプタクラスで、このクラスを継承すれば、必要なメソッドだけオーバーライドして処理を定義できる・・・。

WindowAdapter (Java Platform SE 6)

WindowAdapterと匿名クラスを使って、MainClassの中でウィンドウの閉じる処理を書く・・・。

frame.addWindowListenerにWindowListenerを実装した派生クラスのインスタンスではなく、WindowAdapter派生の匿名クラスオブジェクトインスタンスを直接渡している・・・。
WindowAdapterはWindowListenerを実装しているので、addWindowListenerに渡せるし、再定義したいメソッドのみオーバーライドすればいい・・・。
windowClosedとwindowClosingだけオーバーライドして、閉じる処理を書いている・・・。

f:id:BG1:20160228121541p:plain

これでも表示したウィンドウを閉じれる・・・。

Sample/MainClass.java at master · bg1bgst333/Sample · GitHub