次のような JFrame を設定しました。
public class XFrame extends JFrame {
public XFrame() {
setSize(100, 100);
}
@Override
public void dispose() {
super.dispose();
System.out.println("Dispose get called");
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
XFrame f = new XFrame();
f.setTitle("Hello World");
//f.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setVisible(true);
}
});
}
}
私が期待しているのは、閉じるボタン [X] を押すと、dispose メソッドが呼び出されることです。ただし、DefaultCloseOperation(???)にDISPOSE_ON_CLOSEが設定されている場合のみの状況です。Java はここで私を本当に驚かせます。DefaultCloseOperation 値 (DISPOSE_ON_CLOSE と EXIT_ON_CLOSE) の両方の場合に呼び出されるメソッドを実装する方法は?