• 締切済み

Windowを閉じるときの処理の構造

 Java初心者です。  JavaのGUIプログラムでウインドウを閉じるときの処理で、解説書・解説サイトでは以下のようなサンプルをよく見かけますが、構造が複雑すぎてよく理解できません。 //インスタンス化とか色々省略 JFrame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.exit(0); } });  特に、WindowAdapter(){~}の部分は、解説書を一通り探しても、文法事項として見つからないのですが、これはどういった文法なのでしょうか?  よろしくお願いします。

みんなの回答

  • i2719
  • ベストアンサー率35% (11/31)
回答No.2

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」とクラスの名前を 考えるのが面倒だ。 コンパイラにお任せで手抜きでソースコード書くと質問のソース コードのようになります。

noname#82539
質問者

お礼

 ご回答ありがとうございます。  あのサンプルソースは手抜きコードだったのですね・・・。

  • i2719
  • ベストアンサー率35% (11/31)
回答No.1

無名インナークラス

noname#82539
質問者

お礼

 ご回答ありがとうございます。  無名インナークラスというものだったのですね。  無名インナークラスについて調べてみたのですが、いまひとつ納得いく解説がヒットしませんでした。よろしければ補足をいただけないでしょうか。

関連するQ&A