Java 如何使JFrame在10秒后自动关闭?

Java 如何使JFrame在10秒后自动关闭?,java,swing,jframe,Java,Swing,Jframe,我试图制作一个JFrame,在打开10秒后关闭 我知道您可以使用setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE),但您需要手动单击以关闭框架 如果你能帮我做些代码 谢谢 您可以使用 您可以像这样使用javax.swing.Timer: new Timer(10_000, (e) -> { frame.setVisible(false); frame.dispose(); }).start(); 使用javax.swing.Timer选项

我试图制作一个JFrame,在打开10秒后关闭

我知道您可以使用
setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE)
,但您需要手动单击以关闭框架

如果你能帮我做些代码

谢谢

您可以使用


您可以像这样使用javax.swing.Timer:

new Timer(10_000, (e) -> { frame.setVisible(false); frame.dispose(); }).start();
使用javax.swing.Timer选项的优点是它不会违反swing线程规则

正如Javadocs所说:

Timer有两个特性,可以使它稍微 更容易与GUI一起使用。首先,它的事件处理隐喻是 熟悉GUI程序员,能够处理 事件调度线程稍微简单一点。第二,它的自动线程 分享意味着你不必采取特殊步骤来避免 产生太多线程。相反,计时器使用相同的线程 用于使光标闪烁、显示工具提示等


这篇文章可以帮助你:谢谢,伙计,太完美了!
new Timer(10_000, (e) -> { frame.setVisible(false); frame.dispose(); }).start();