需要帮助停止我的Java Swing GUI计时器吗?
我想通过单击按钮启动和停止计时器。但是停止按钮不起作用。我该如何解决这个问题 我正在做一个包含计时器和其他功能的项目。我只想用按钮启动和停止计时器 导入javax.swing.Timer需要帮助停止我的Java Swing GUI计时器吗?,java,swing,timer,Java,Swing,Timer,我想通过单击按钮启动和停止计时器。但是停止按钮不起作用。我该如何解决这个问题 我正在做一个包含计时器和其他功能的项目。我只想用按钮启动和停止计时器 导入javax.swing.Timer JButton startbut=new JButton("Start"); JButton endbut=new JButton("Mark As Done"); private void addActionEvent() { // TODO Auto-gene
JButton startbut=new JButton("Start");
JButton endbut=new JButton("Mark As Done");
private void addActionEvent() {
// TODO Auto-generated method stub
startbut.addActionListener(this);
}
int s=0,h=0;
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==startbut) {
t=new Timer(100, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
time.setText(String.valueOf(h+"m:"+s+"s"));
s++;
if(s==60) {
h++;
s=0;
}
}
});
t.start();
}
if(e.getSource()==endbut) {
t.stop();
}
}
提前感谢。问题是endbut没有操作侦听器,因此当单击按钮时,什么都不会发生。t.stop();永远不要接到电话。我们需要将endbut注册到同一个action listenerd,以便在单击它时调用actionPerformed(t.stop) 之后
我没有看到动作监听器添加到
endbut
?您没有为endbut
注册ActionListener
。添加一些注释将大大有助于解释为什么这可以解决OP的问题。仅仅是一个代码转储并没有多大帮助。好吧,问题是endbut没有操作侦听器,所以当点击按钮时,什么都不会发生。t.stop();永远不要接到电话。我们需要将endbut注册到同一个操作侦听器。请使用附加信息回答问题。解释将在评论中消失。
endbut.addActionListener(this);
// TODO Auto-generated method stub
startbut.addActionListener(this);