为什么这个基于Swing的程序在窗口关闭时不会终止?
import javax.swing.JFrame;
import javax.swing.JOptionPane;
final class App extends JFrame {
private App() {
super("App");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JOptionPane.showMessageDialog(this, "App works");
pack();
}
public static void main(final String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new App().setVisible(true);
}
});
}
}
答案 0 :(得分:3)
首先,它不会在任何人的系统上终止。
原因是因为您调用的JFrame设置为零,内容为零。它很可能隐藏在屏幕的左上角非常小的位置。如果您关闭该框架,您的程序将终止。消息对话框与JFrame无关。
答案 1 :(得分:1)
它确实......在我的机器上发生的事情是打开一个对话框。在该对话框中点击“确定”后,它会打开JFrame。当您关闭JFrame时,它会终止该应用程序。
你可能不想在构造函数中做你正在做的工作......然后JFrame会在对话框之前显示出来。