当运行一个生成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);
}
}
答案 0 :(得分:1)
您需要显示代码,但是您可以通过使用SwingUtilities在EDT上排队来在EDT上运行代码:
SwingUtilities.invokeLater(() -> {
// start your GUI here
});