【发布时间】:2015-11-02 21:22:02
【问题描述】:
有人可以为我提供一个使用不断更新的 JLabel 的 Java 中 Swing Timer 秒表 GUI 的示例吗?我不熟悉使用@Override,所以除非绝对必要,否则请不要在其中建议代码(我已经完成了其他 Swing Timers,例如系统时钟,没有它)。
谢谢!
编辑:根据@VGR 的要求,这是我使用摆动计时器的基本时钟的代码:
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.FlowLayout;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Font;
public class basic_clock extends JFrame
{
JLabel date, time;
public basic_clock()
{
super("clock");
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
Calendar current = Calendar.getInstance();
current.setTime(new Date());
date.setText((current.get(Calendar.MONTH) + 1) +"/" +current.get(Calendar.DATE) +"/" +current.get(Calendar.YEAR));
String timeStr = String.format("%d:%02d:%02d", current.get(Calendar.HOUR), current.get(Calendar.MINUTE), current.get(Calendar.SECOND));
time.setText(timeStr);
}
};
date = new JLabel();
time = new JLabel();
setLayout(new FlowLayout());
setSize(310,190);
setResizable(false);
setVisible(true);
add(date);
add(time);
date.setFont(new Font("Arial", Font.BOLD, 64));
time.setFont(new Font("Arial", Font.BOLD, 64));
javax.swing.Timer timer = new javax.swing.Timer(500, listener);
timer.setInitialDelay(0);
timer.start();
}
public static void main(String args[])
{
basic_clock c = new basic_clock();
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
显然我需要不同于 Calendar 对象的东西,因为我想跟踪分钟和秒到最接近的 1/100 秒,而不是日期/月/年/小时/分钟/秒。
【问题讨论】:
-
你的谷歌坏了吗? Maybe this will help
-
如果您以前使用过 Swing Timer,那么您必须至少已经编写了一些代码。编辑您的问题以显示您到目前为止所拥有的内容。 “为我编写所有代码”不是一个有效的问题。
-
"@Override,所以除非绝对必要,否则请不要在其中建议代码" - 强烈建议
@Override阻止开发人员犯愚蠢的错误和拼写错误的方法,“认为”它们是压倒一切的。我强烈建议您花时间研究并了解它为您的开发生活带来哪些优势,这将有助于防止您犯愚蠢的小错误 -
@MadProgrammer - 我用谷歌搜索它,但我不理解我找到的代码。
标签: java swing timer stopwatch