2013-11-22 3 views
0

Я использовал нижний нить, чтобы найти системное время. Но здесь есть проблема. Он всегда показывает 12:11: - PM и секунды работает, но через 60 секунд 12:11 никаких изменений в минутах снова нет. Время моего компьютера - 12:24. английский ..Java Thread, чтобы найти Системное время

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(); 
} 
+0

я запускаю этот метод в конструкторе (InitComponent) – JLink

+2

попробуйте использовать mm вместо MM –

+0

jLabel1.setText() должен быть вызван в AWT - используйте SwingUtilities.invokeLater() – mkleint

ответ

2

MM в месяц в год - попробуйте mm в вашей форматировочной строке

+0

Спасибо, брату ... Он решает ..... !!!! – JLink

0

Лучше использовать системное время, используя следующий код

SimpleDateFormat sdf = new SimpleDateFormat("hh:MM:ss a"); 
jLabel1.setText(sdf.format(new Date(System.currentTimeMillis()))); 
+0

это тоже работает, но в чем разница между моим кодом и этим ... его легко запустить, чем мой код – JLink

Смежные вопросы