gpt4 book ai didi

java - 每秒更新一次 JTextField

转载 作者:行者123 更新时间:2023-12-01 23:05:36 25 4
gpt4 key购买 nike

我有一个简单的 GUI 用于时间注册应用程序

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 有点生疏了。我知道创建一个线程来处理它并不安全。

最佳答案

使用 Swing Timer安排每秒更新一次标签。

当您单击“开始”按钮时,您将启动计时器;当您单击“停止”按钮时,您将停止计时器。

关于java - 每秒更新一次 JTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com