【发布时间】:2015-11-22 05:52:43
【问题描述】:
我是一名初学者,正在向更有经验的程序员寻求一些建议。
我有两种解决方案可以在 GUI 中显示当前日期/时间并像实时时钟一样刷新它。
解决方案 1
**DateFormat** dateFormat = new SimpleDateFormat("dd MMMM yyyy - HH:mm:ss z");
JLabel dateTimeLabel = new JLabel();
add(dateTimeLabel, BorderLayout.CENTER);
new Thread() {
public void run() {
while (true) {
Date curEngDate = new Date();
dateTimeLabel.setText(dateFormat.format(curEngDate));
}
}
}.start();
解决方案 2
Timer timer = new Timer(3000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Date date = new Date();
label.setText(dateFormat.format(date));
}
});
timer.start();
问题:
据我了解,Timer 将持续运行,类似于线程。 并且使用事件监听器可能比使用 while 循环更好。
但是你的经历是什么?你会怎么做?
- 这些不同的解决方案有特定的用例吗?
- 哪个更适合您的体验?
- 在内存/电源使用方面会更好吗?
- 这些会对性能产生什么影响?
- 或者有没有更好的解决方案?
我正在寻找有关此类功能的一般建议,不一定是时钟或日期/时间
提前感谢您的所有建议
【问题讨论】:
标签: java date time refresh jlabel