/*/////////////////////////////////////////////////////////// * CloseWinListen.java * ウィンドウリスナーインターフェースを使用して、ウィンド * ウを閉じる仕組みの練習です。非実用的仕掛け? *//////////////////////////////////////////////////////////// import java.awt.*; //ウィンドウを作るので必要 import java.awt.event.*; //イベントを扱うので必要 public class CloseWinListen extends Frame implements WindowListener { //ウィンドウイベントを扱うためのリスナーインターフェイス //をインプリメントします CloseWinListen() { addWindowListener(this); //このクラスをリスナーに指定 } public static void main(String args[]) { CloseWinListen cw = new CloseWinListen(); cw.setSize(250,150); cw.setTitle("CloseWindow_Listener"); cw.show(); } //ここからは、WindowListenerインターフェースが持つ7つのメ //ソッドの再定義です。 public void windowClosing(WindowEvent e) { System.exit(0); } ////実際に再定義しているのは上の1つのメソッドだけ。 //// 以下は、WindowListenerのメソッドのうち、今回は使用し ////ないものの再定義−−−実は空。使用しなくても定義し直 ////しておかないとダメ。 //// そこで、「アダプター」クラスを用いると、必要なメソッド ////だけの定義で済むので便利。 public void windowClosed(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowOpened(WindowEvent e) {} } ///////// プログラムは以上です ///////////////////////// // // こんな無駄な作業は、できればしたくないし、実際、しなく //て済む。WindowAdapterクラスを利用すると、必要なメソッドの //定義だけすれば済むのです。--- "CloseWinAdapt"参照 //