在 java 程序中实现定时器
Implementing a timer into a java program
我正在创建一个 java 绘画程序,但无法弄清楚如何实现一个在 GUI 打开时启动的计时器,以便用户可以看到他们到目前为止在绘画上花费的时间。我的代码粘贴在下面。我是一个完全的初学者,已经搜索了所有的 oracle 文档,但无法理解它们,因此不胜感激!希望有一种简单的方法来实现它。
我在我的工具栏上添加了一个 JLabel,所以我可以尝试 post "Drawing Time: "+totalTime 但由于某些原因它保持为 0 我不知道如何让它每秒刷新一次...
我会尝试这样的事情:
设置全局变量(确保修复导入)
public class MainWindow extends javax.swing.JFrame implements ActionListener{
//global variable for tracking time
Timer timer;
final int DELAY = 1000; //the delay for the timer (1000 milliseconds)
int myCounter;
然后初始化计时器和计数器,并确保将信息从计数器发送到您的标签
public MainWindow() {
initComponents();
//initialize the timer and the counter
timer = new Timer(DELAY, this);
timer.start();
myCounter = 0;
}
//method needed for the timer, since this class implements ActionListener
//this method will get called however often the DELAY is set for
@Override
public void actionPerformed(ActionEvent e){
myCounter++;
labelOutput.setText(Integer.toString(myCounter));
}//end of method
这是设置计时器的一个非常基本的示例,因此如果您将我提供给您的代码中的步骤应用到您自己的应用程序中,您可能就能让它正常工作。祝你好运!
我正在创建一个 java 绘画程序,但无法弄清楚如何实现一个在 GUI 打开时启动的计时器,以便用户可以看到他们到目前为止在绘画上花费的时间。我的代码粘贴在下面。我是一个完全的初学者,已经搜索了所有的 oracle 文档,但无法理解它们,因此不胜感激!希望有一种简单的方法来实现它。
我在我的工具栏上添加了一个 JLabel,所以我可以尝试 post "Drawing Time: "+totalTime 但由于某些原因它保持为 0 我不知道如何让它每秒刷新一次...
我会尝试这样的事情:
设置全局变量(确保修复导入)
public class MainWindow extends javax.swing.JFrame implements ActionListener{
//global variable for tracking time
Timer timer;
final int DELAY = 1000; //the delay for the timer (1000 milliseconds)
int myCounter;
然后初始化计时器和计数器,并确保将信息从计数器发送到您的标签
public MainWindow() {
initComponents();
//initialize the timer and the counter
timer = new Timer(DELAY, this);
timer.start();
myCounter = 0;
}
//method needed for the timer, since this class implements ActionListener
//this method will get called however often the DELAY is set for
@Override
public void actionPerformed(ActionEvent e){
myCounter++;
labelOutput.setText(Integer.toString(myCounter));
}//end of method
这是设置计时器的一个非常基本的示例,因此如果您将我提供给您的代码中的步骤应用到您自己的应用程序中,您可能就能让它正常工作。祝你好运!