[英]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.