dポイントプレゼントキャンペーン実施中!

只今、これならわかるJAVAという書籍でウィンドウを生成し、×ボタンがクリックされたら、ウィンドウを閉じる(プログラムを終了する)ようなプログラムを作っているのですが、書籍通りに記述しているのですが、×ボタンをクリックしてもウィンドウが閉じません。ソースは、
import java.awt.*;
import java.awt.event.*;

//ウィンドウを表すクラスFrameを継承し、自作のウィンドウを表すクラスを作成する
public class EventDispose extends Frame{
public EventDispose() {
addWindowListener(new MyWindowAdapter());
}

class MyWindowAdapter extends WindowAdapter{

public void WindowClosing(WindowEvent e) {
System.exit(0);
}
}
}
です、。表示を行っているクラスが、
public class MyWinApp {
public static void main(String[] args) {

//自作のウィンドウの生成(コンストラクタの実行)
EventDispose ed = new EventDispose();

//ウィンドウのサイズの指定
ed.setSize(300,200);

//生成したウィンドウを可視状態にする
ed.setVisible(true);
}
}
です。開発環境はeclipseの3.4です。
どうかご教授よろしくお願い致します。

A 回答 (1件)

public void WindowClosing(WindowEvent e) {



WindowClosing→windowClosing

java.awt.event.WindowAdapterのwindowClosingをオーバーライドするのだから、メソッド名が違ってたら別メソッドとして定義されるので当然実行されないですよ。
    • good
    • 0
この回答へのお礼

なるほど!単なるメソッド名の誤記ということですね><
メソッド名の頭文字はたいてい大文字なので、その先入観でメソッド名が怪しいという疑いがまったくありませんでした。
まさかこんな単純なミスだったとは><
ProKaseifuさん、助かりました。オーバーライドするときは、
もっと気を付けるしたいと思いました。
ありがとうございます^-^助かりました。

お礼日時:2009/06/03 17:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!