我正在使用JFrame显示图像,编写的代码是在5秒后关闭JFrame窗口并再次打开终端窗口。 (你知道,System.out.println(" blahblahblah");) 这是我的代码:
public static void closeCall()
{
Long exitTime = Calendar.getInstance().getTime().getTime() + 5 * 1000;
for(int i=1; i>0; i++)
{
Long currentTime = Calendar.getInstance().getTime().getTime();
if (currentTime >= exitTime)
{
JFrame1.dispatchEvent(new WindowEvent(JFrame1, WindowEvent.WINDOW_CLOSING));
break;
}
}
}
我在BlueJ 3.1.5和JDK 8u40上,仍在学习试错法,所以,嗯,有帮助吗?
提前致谢。
答案 0 :(得分:1)
对BlueJ终端窗口一无所知,但是如果你想在一定时间间隔后执行一个Action,那么你应该使用Swing Timer
而不是创建一个会占用CPU的循环使框架没有反应。
定时器将在5秒后简单地触发事件然后关闭帧。阅读Swing教程中有关如何使用Swing Timers的部分以获取更多信息和示例。