繁体   English   中英

在线程0中运行JFrame

[英]Running a JFrame in thread 0

运行运行JFrame(Swing)的程序时,为什么在线程0上运行时不显示窗口呢? 可以通过(OS X)在线程0上运行:

java -XstartOnFirstThread Driver

public class Driver
{
    public static void main (String args[])
    {   
        SwingUtilities.invokeLater(() -> { 
            WindowClass button = new WindowClass(450, 450);
        });
    }
}

public class WindowClass extends JFrame
{
    public WindowClass(int width, int height)
    {
        setTitle("Demo");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(width, height);
        setVisible(true);
    }
}

您需要显示代码,但是您可以通过使用SwingUtilities在EDT上对其进行排队来在EDT上运行代码:

SwingUtilities.invokeLater(() -> {
    // start your GUI here
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM