使用与此

时间:2017-03-20 21:46:10

标签: java swing jframe

我目前有

            long start = System.currentTimeMillis();
            long end = start + 60*1000; 
            while (System.currentTimeMillis() < end)
            {

            }

目前它正在等待60秒打开我的JFrame,这就是我需要的。但是在单独的一个中,我需要它做相反的操作并在打开时启动计时器,然后在60秒后关闭JFrame。有没有办法可以反过来使用它?

1 个答案:

答案 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();