有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在线程0中运行JFrame

当运行一个生成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);
    }
}

共 (1) 个答案

  1. # 1 楼答案

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

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