- 締切済み
Windowを閉じるときの処理の構造
Java初心者です。 JavaのGUIプログラムでウインドウを閉じるときの処理で、解説書・解説サイトでは以下のようなサンプルをよく見かけますが、構造が複雑すぎてよく理解できません。 //インスタンス化とか色々省略 JFrame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.exit(0); } }); 特に、WindowAdapter(){~}の部分は、解説書を一通り探しても、文法事項として見つからないのですが、これはどういった文法なのでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- i2719
- ベストアンサー率35% (11/31)
import javax.swing.JFrame; public class Test { public static void main(String[] args) { JFrame frame = new JFrame("テスト"); frame.addWindowListener(new ExitWhenWindowClosing()); frame.setVisible(true); } } import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class ExitWhenWindowClosing extends WindowAdapter { public void windowClosing(WindowEvent evt) { System.exit(0); } } 今回場合は上記のように記述してもいいが、 一度使うだけなら「ExitWhenWindowClosing」とクラスの名前を 考えるのが面倒だ。 コンパイラにお任せで手抜きでソースコード書くと質問のソース コードのようになります。
- i2719
- ベストアンサー率35% (11/31)
無名インナークラス
お礼
ご回答ありがとうございます。 無名インナークラスというものだったのですね。 無名インナークラスについて調べてみたのですが、いまひとつ納得いく解説がヒットしませんでした。よろしければ補足をいただけないでしょうか。
お礼
ご回答ありがとうございます。 あのサンプルソースは手抜きコードだったのですね・・・。