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

posted @ 2022-09-14 22:05  晓星晨曦  阅读(355)  评论(0编辑  收藏  举报