如何在 JFrame Java 中重新启动计时器?

How to restart the timer in JFrame Java?

如何重新启动计时器?我尝试在重置按钮内添加 int i 变量。我该如何解决这个问题?

下面是我创建的 Timer 的代码。

import javax.swing.Timer;
import java.awt.event.*;
/**
 *
 */
public class JFrame2 extends javax.swing.JFrame {
int score1=0;
int score2=0;
int i = 25;

    /**
     * Creates new form JFrame2
     */
    public JFrame2() {
        initComponents();
    }
Timer T = new Timer(1000, new ActionListener()
{
    public void actionPerformed(ActionEvent e){
    i--;
    if(i>=0){
        shotclock.setText(""+i);
    }
}

});

  private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        T.start();
    }                                        

    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       T.stop();
    }                                        

    private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
int i = 25;                                         
        T.start();
    }               

it didn't restart the timer back from the original starting time

int i = 25;     

那是因为你创建了一个新的局部变量。

您需要重置您的原始实例变量:

//int i = 25;     
i = 25;