我目前有
long start = System.currentTimeMillis();
long end = start + 60*1000;
while (System.currentTimeMillis() < end)
{
}
目前它正在等待60秒打开我的JFrame,这就是我需要的。但是在单独的一个中,我需要它做相反的操作并在打开时启动计时器,然后在60秒后关闭JFrame。有没有办法可以反过来使用它?
答案 0 :(得分:0)
根据其他用户的建议,您可以使用Timer
执行此操作。
final JFrame frame = new JFrame();
frame.setSize(100, 100);
frame.pack();
//60 * 1000 is the delay in milliseconds (60 seconds)
final Timer closeTimer = new Timer(60 * 1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setVisible(false);
}
});
new Timer(60 * 1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setVisible(true);
closeTimer.start();
}
}).start();