我有一个时间注册应用程序的简单GUI
由于GUI用于时间注册,我希望它显示一个计时器,当您按“开始”直到按“停止”时运行。
目前这两种方法都是这样完成的:
private void trStartBtnActionPerformed(java.awt.event.ActionEvent evt) {
trStartBtn.setEnabled(false);
trStopBtn.setEnabled(true);
startTime = System.nanoTime();
}
private void trStopBtnActionPerformed(java.awt.event.ActionEvent evt) {
endTime = System.nanoTime();
trStartBtn.setEnabled(true);
trStopBtn.setEnabled(false);
// Opgave Navn
String taskName = JOptionPane.showInputDialog(
this,
"Task name",
"Time Registration",
JOptionPane.INFORMATION_MESSAGE);
// Tiden det tog
long result = endTime - startTime;
double seconds = (double) result / 1000000000;
int minutes = (int)seconds / 60;
int hours = minutes / 60;
String time = hours + ";" + minutes + ";" + (int) seconds;
// Dags Dato
DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date today = new Date();
String date = format.format(today);
DefaultTableModel m = (DefaultTableModel)trTable.getModel();
Object[] data = {date,time,taskName};
m.addRow(data);
trScrollPane.repaint();
}
但是我如何添加功能,以便右边的计时器每秒都会打勾,以便在使用程序时显示时间?已经有一段时间了,我在Swing有点生疏了。我知道制作一个线程来处理它并不安全。