Java 如何使JButton开始循环
我试图做一个定时器编程,将一个变量添加到一个变量中,然后每秒将其输出到一个JTextField。然而,我似乎无法按按钮启动计时器并使其继续运行。它总是加上一个,然后退出。我如何使它,使每当我按下开始按钮,计时器开始计数,直到我点击停止Java 如何使JButton开始循环,java,swing,Java,Swing,我试图做一个定时器编程,将一个变量添加到一个变量中,然后每秒将其输出到一个JTextField。然而,我似乎无法按按钮启动计时器并使其继续运行。它总是加上一个,然后退出。我如何使它,使每当我按下开始按钮,计时器开始计数,直到我点击停止 // creates timer private Timer count; public static void main (String[] args) { //inits new timer and GUI timer frame = ne
// creates timer
private Timer count;
public static void main (String[] args) {
//inits new timer and GUI
timer frame = new timer();
frame.setSize(400,150);
frame.createGUI();
frame.setVisible(true);
}
//adds start to window
start = new JButton("Start Timer");
window.add(start);
start.addActionListener(this);
//actionPerformed class
public void actionPerformed(ActionEvent event) {
if(event.getSource() == start) {
min1.setText(Integer.toString(time / 60));
sec1.setText(Integer.toString(time % 60));
time++;
}
else {
time++;
}
我是stackoverflow的新手,所以请检查是否存在任何不正确的格式。以下是计时器按按钮启动和按按钮停止的代码
import javax.swing.*;
import java.awt.event.*;
class Example implements ActionListener {
Timer timer;
int count=0;
JButton startButton;
JButton stopButton;
JLabel countLabel;
JFrame frame;
JPanel contentPane;
public Example() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = new JPanel();
startButton = new JButton("Start");
startButton.addActionListener(this);
stopButton = new JButton("Stop");
stopButton.addActionListener(this);
countLabel = new JLabel("0");
contentPane.add(startButton);
contentPane.add(countLabel);
contentPane.add(stopButton);
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
count++;
countLabel.setText(count+"");
}
};
timer = new Timer(100,listener);
frame.setContentPane(contentPane);
frame.pack();
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == startButton) {
timer.start();
}
if(e.getSource() == stopButton) {
timer.stop();
}
}
public static void main(String args[]) {
new Example();
}
}
您正在使用Swing
定时器吗?如果没有,那么你应该忘记停止按钮。首先,只需创建启动按钮,启动计时器,并在每次计时器启动时递增1。然后,一旦你得到了工作,你添加停止按钮。现在,您不知道问题是出在您添加的开始按钮还是停止逻辑上。简化问题,一次解决一个问题。如果你需要更多的帮助,那么就用你的开始按钮发布一个正确的说明。我不知道这是否更好,但我希望是这样!这是一个完整的例子吗?代码是如何编译的?你的定时器逻辑在哪里?。您所要做的就是向按钮添加一个ActionListener。您还需要一个用于计时器的ActionListener。所以按钮ActionListener中的所有代码都是启动计时器。然后计时器的ActionListener会增加时间。请阅读上Swing教程中的部分以获取示例。或者使用Timer类在web/表单中搜索示例。以下是计时器的基本示例:。计时器自动启动。因此,您需要修改代码,以创建一个按钮并启动计时器。