当运行一个生成 JFrame (Swing) 的程序时,如果它在线程 0 上运行,为什么它不显示窗口?在线程 0 上运行可以通过 (OS X) 来完成:
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
});
关于java - 在线程 0 中运行 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115424/