如何重复此过程以显示当前时间?

时间:2016-03-25 08:02:06

标签: java

我正在尝试创建一个带有可自定义选项的时钟程序,但由于我是初学者,我遇到了一些问题。我尝试使用DigitalClock项目,但现在我的内容太多了 我查看了Timer和ScheduledExecuterService,但我不知道如何使用以及放置它们的位置。 我也尝试将颜色设置为背景,但错误是它可能已经过度运行。 如何在几毫秒内重复该过程,添加背景并使代码更轻?

's'

2 个答案:

答案 0 :(得分:0)

如果您想简化,那么您可以简单地执行以下操作:

public static void main (String[] args) throws Exception
{
    final SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss:SSS");
    while(true) {
        System.out.println(sf.format(new Date()));
        Thread.sleep(1);
    }
}

但这可能错过了介于两者之间的毫秒入口。例如,它可能会在310之后直接转到308并在其间错过309。但是既然我们在谈论1/1000th秒,在现实生活中,它不太可能被人注意到。

您的代码将缩减为以下内容:

public Clock() {
    public static void main (String[] args) throws Exception {
        initComponents();
        final SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss:SSS");
        while(true) {
            time.setText = sf.format(new Date());
            Thread.sleep(1);
        }
    }
}

答案 1 :(得分:0)

final SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss:SSS");
Timer timer = new Timer();
timer.schedule(new TimerTask() {
      public void run() {
          System.out.println(sf.format(new Date()));
      }
}, 0 , 1000000);

将在1毫秒内重复。