为什么我的时钟没有显示秒数增加?
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生成的。
答案 0 :(得分:7)
您的计时器不会重复。
timer.setRepeats(true);
将其设置为重复。
实际上你根本不需要它,默认设置为true。
答案 1 :(得分: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();
}
}