【发布时间】:2023-04-08 06:59:01
【问题描述】:
我使用波纹管线程来查找系统时间。但是这里有一个问题。它总是显示 12:11:-- PM 和秒运行但 60 秒后 12:11 分钟没有变化再次秒运行..我的电脑原始时间是 12:24 PM..这里有什么问题。对不起我的坏英语..
public void statTime(){
new Thread(new Runnable() {
@Override
public void run() {
try {
while (true) {
java.util.Date d = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("hh:MM:ss a");
jLabel1.setText(sdf.format(d));
Thread.sleep(1000);
}
} catch (Exception e) {
}
}
}).start();
}
【问题讨论】:
-
我在构造函数(initcomponent)中运行这个方法
-
尝试使用 mm 代替 MM
-
jLabel1.setText() 应该在 AWT 中调用 - 使用 SwingUtilities.invokeLater()
标签: java multithreading netbeans time