Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';这个基于Swing的琐碎程序不会终止吗?_Java_Swing - Fatal编程技术网

Java 为什么';这个基于Swing的琐碎程序不会终止吗?

Java 为什么';这个基于Swing的琐碎程序不会终止吗?,java,swing,Java,Swing,为什么这个基于Swing的程序在窗口关闭时不终止 import javax.swing.JFrame; import javax.swing.JOptionPane; final class App extends JFrame { private App() { super("App"); setDefaultCloseOperation(EXIT_ON_CLOSE); JOptionPane.showMessageDialog(thi

为什么这个基于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);
            }
        });
    }
}
它确实。。。(在我的机器上)会打开一个对话框。一旦你点击对话框上的“OK”,它就会打开JFrame。当您关闭JFrame时,它会终止应用程序

Yoy可能不想在构造函数中做你正在做的工作。。。然后JFrame将显示在对话框前面。

它确实。。。(在我的机器上)会打开一个对话框。一旦你点击对话框上的“OK”,它就会打开JFrame。当您关闭JFrame时,它会终止应用程序


Yoy可能不想在构造函数中做你正在做的工作。。。然后JFrame将显示在对话框前面。

首先,它不会在任何人的系统上终止


原因是您正在调用一个JFrame,将其设置为零内容可见。它很可能隐藏在屏幕的左上角。如果关闭该帧,程序将终止。消息对话框与JFrame无关。

首先,它不会在任何人的系统上终止


原因是您正在调用一个JFrame,将其设置为零内容可见。它很可能隐藏在屏幕的左上角。如果关闭该帧,程序将终止。消息对话框与JFrame无关。

它在这里起作用。您使用的是什么平台和Java版本?@Thomas:O/S是Linux 2.6.27/Fedora 10 x86_64,Java是OpenJDK 64位1.6.0_0。该程序也不会在JavaHotSpot(TM)64位1.7.0-ea下终止。它在这里终止。您使用的是什么平台和Java版本?@Thomas:O/S是Linux 2.6.27/Fedora 10 x86_64,Java是OpenJDK 64位1.6.0_0。该程序也不会在Java HotSpot(TM)64位1.7.0-ea下终止。它不会在我的系统上终止(请参阅@Thomas comment)。窗口确实消失了,但进程没有终止。我不知道JFrame如何“显示”在对话框之前,因为对话框在JFrame可见之前已成为JFrame的一个组件。它显示在窗口之前,因为构造函数在setVisible调用之前执行,setVisible调用使框架可见。@Steve一旦关闭JFrame,它将退出。该对话框是显示的两个顶级gui组件之一。只有关闭JFrame(而不是单击对话框上的“确定”)才会终止应用程序。它不会在我的系统上终止(请参阅有问题的@Thomas comment)。窗口确实消失了,但进程没有终止。我不知道JFrame如何“显示”在对话框之前,因为对话框在JFrame可见之前已成为JFrame的一个组件。它显示在窗口之前,因为构造函数在setVisible调用之前执行,setVisible调用使框架可见。@Steve一旦关闭JFrame,它将退出。该对话框是显示的两个顶级gui组件之一。只有关闭JFrame(而不是单击对话框上的OK)才能终止应用程序。