0

次の Java コード スニペットがあります。

public static void main(String[] args) {

    String filename = args[0];

    JFrame f = new JFrame("Load Image Sample");

    f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    f.add(new LoadImageApp(filename));
    f.pack();
    f.setVisible(true);
}

WindowClosingイベントが定義されています。コード内からこのイベントを起動/実行/開始して、コードを終了するにはどうすればよいですか?

追加の質問: コードに表示されるこの構造は何ですか:

new WindowAdapter(){...}

つまり、通常の括弧の後に中括弧が続く?

4

3 に答える 3

2

このリンクを見てください。それが役に立てば幸い

http://docs.oracle.com/javase/tutorial/uiswing/events/propertychangelistener.html

http://weblogs.java.net/blog/joshy/archive/2006/02/all_hail_the_pr.html

また、この特定のケースでは、実際にイベントをトリガーする必要はありませんSystem.exit(0)。コード内で手動でイベントをトリガーする唯一の理由は、誰かが「X」ボタンをクリックしてウィンドウを閉じることをエミュレートすることです (他の方法でプログラムを閉じるのではなく)。

于 2013-10-02T19:15:49.430 に答える
2

このトピックに関する一般的な考え方については、アプリケーションを閉じるを参照してください。

ExitAction、イベントをフレームにディスパッチする 1 つの方法を示しています。Action は、ユーザーが「X」をクリックする以外の方法でフレームを閉じることができるようにするために、JMenuItem または JButton と一緒に使用することを意図していました。

于 2013-10-02T19:19:51.950 に答える