2013-02-19 54 views
1

为什么我的时钟没有显示增加的秒数?我的时钟没有显示第二次增加

public class timeTest extends javax.swing.JFrame { 

    public timeTest() { 
     initComponents(); 
     showTime(); 
    } 

    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new timeTest().setVisible(true); 
      } 
     }); 
    } 

    private javax.swing.JLabel timeLable; 

    private void showTime() { 
     Timer timer = new Timer(100, new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       Calendar time = Calendar.getInstance(); 
       timeLable.setText(time.getTime().toString()); 
      } 
     }); 
     timer.setRepeats(false); 
     timer.start(); 
    } 
} 

我还没有编写代码,它由IDE生成。

回答

2

更换

timer.setRepeats(false); 

timer.setRepeats(true); 

我只是添加日期格式化为看起来很漂亮

public class timeTest extends javax.swing.JFrame { 

    SimpleDateFormat date_format = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss"); 

    public timeTest() { 
     initComponents(); 
     showTime(); 
    } 

    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new timeTest().setVisible(true); 
      } 
     }); 
    } 

    private javax.swing.JLabel timeLable; 

    private void showTime() { 
     Timer timer = new Timer(100, new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       Calendar time = Calendar.getInstance(); 
       timeLable.setText(date_format.format(time.getTime())); 
      } 
     }); 
     timer.setRepeats(true); 
     timer.start(); 
    } 
} 
7

您的计时器不会重复。

timer.setRepeats(true); 

将它设置为重复。

实际上你甚至不需要这个,它默认设置为true。

相关问题