イベントリスナーWindowListenerを使用する方法
WindowListenerクラスはウインドウ関連のイベントを処理するためのイベントリスナーです。
WindowListenerをimplementsしたクラスは、WindowListenerがもつ7つのメソッドすべて実装する必要があります。
ウインドウを閉じるには7つのメソッドのうちwindowClosingメソッドのみを使用します。
package MyPackage1; import java.awt.Frame; import java.awt.event.*; public class FrameCloseSample01 { /* * エントリポイント */ public static void main(String args[]){ new FrameCloseSample01(); } /* * コンストラクタ */ public FrameCloseSample01(){ //フレームを作成します。 Frame frm = new Frame(); //フレームタイトルを指定します。 frm.setTitle("FrameCloseSample01"); //フレームサイズを指定します。 frm.setSize(300,300); //イベントリスナーを追加します。 frm.addWindowListener(new frmWindowAdapter()); //フレームを表示します。 frm.setVisible(true); } /* * FrameのWindowListenerクラスです。 */ private class frmWindowAdapter implements WindowListener{ @Override public void windowActivated(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ } @Override public void windowClosed(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ } @Override public void windowClosing(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ System.exit(0); } @Override public void windowDeactivated(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ } @Override public void windowDeiconified(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ } @Override public void windowIconified(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ } @Override public void windowOpened(WindowEvent arg0) { // TODO 自動生成されたメソッド・スタブ } } }
無名クラスを使用して閉じる方法
package MyPackage1; import java.awt.*; import java.awt.event.*; public class FrameCloseSample02 { /* * エントリポイント */ public static void main(String args[]){ new FrameCloseSample02(); } /* * コンストラクタ */ public FrameCloseSample02(){ //フレームを作成します。 Frame frm = new Frame(); //フレームタイトルを指定します。 frm.setTitle("FrameCloseSample02"); //フレームサイズを指定します。 frm.setSize(300,300); //無名クラスを使用してFrameを閉じます。 frm.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); //フレームを表示します。 frm.setVisible(true); } }
WindowAdapterクラスはあらかじめWindowListenerをimplementsし、すべてのメソッドをオーバライド済みにしたクラスです。必要なメソッドのみオーバーライドして使用します。
0 件のコメント:
コメントを投稿