Java的timer暂停与启动,以简单点名系统为例。(学习ing)
闲的没事做,做了个点名系统,但是遇到了个问题,就是开始,暂停问题,经过努力的搜找答案,终于解决了
废话不多说,下附代码全部代码
package study;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.*;
public class 点名系统 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new JF();
}
}
class JF extends JFrame{
JLabel jl;
JPanel jp1,jp2;
JButton btn1,btn2;
Timer tm;
String []haha = {"张三","李四","王五","土匪","土匪头子","逗比","土匪首领","土匪小个子","李小龙","成龙"};
public JF() {
jl = new JLabel("等待开始",JLabel.CENTER);
jp1 = new JPanel();
jp2 = new JPanel();
btn1 = new JButton("开始");
btn2 = new JButton("暂停");
jp1.add(jl);
jp2.add(btn1);
jp2.add(btn2);
this.add(jp1,"North");
this.add(jp2);
this.setVisible(true);
this.setSize(500, 100);
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
tm = new Timer();
tm.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
int suiji = (int)(Math.random()*haha.length);
jl.setText(haha[suiji]);
}
}, 0, 100);
}
});
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
tm.cancel();
}
});
}
}
其实就是来个new timer();其他文章的整的比较复杂。或许所用不同吧!
感谢您的阅读,感恩。
参考链接: https://blog.csdn.net/qq_31794059/article/details/79051629