JAVA秒表(线程)

package work1;

import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.function.IntToDoubleFunction;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class TestMain {
	JFrame jFrame;//成员变量,未设置访问类型,默认包内访问,先创建一个JF对象
	String stringx;//保存第一个变量
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		TestMain testMain=new TestMain();
		testMain.initView();
	}
	public void initView() {
		jFrame=new JFrame("好好学习");//第一步,初始化
		jFrame.setBounds(500, 500, 600, 600);//第二步,设置位置大小
		jFrame.setLayout(null);//控制布局 null为不使用系统所给的任何一种布局
		final JTextField jTextField=new JTextField();
		jTextField.setBounds(50, 50,500, 50);
		jFrame.add(jTextField);
		
		Thread thread=new Thread(new Runnable() {//线程  启动线程,runnable自动执行
			
			@Override
			public void run() {
				// TODO 自动生成的方法存根
				int h=0,m=0,s=0;//时分秒
				while(true)
				{
					try {
						Thread.sleep(1000);//延迟1S
					} catch (InterruptedException e) {
						// TODO 自动生成的 catch 块
						e.printStackTrace();
					}//延迟必须用try catch包围
					s++;
					if(s==60)
						{
						m++;
						s=0;
						}
					if(m==60)
					{
					m=0;
					h++;
					}
					jTextField.setText(h+":"+m+":"+s);
				}
				
			}
		});//线程创建;
	
		thread.start();//线程启动;//线程完成之后,线程消亡
		jFrame.setVisible(true);//第三部,让界面显示出来,这句话一定在最后
		//但凡是成对的元素,必须要先写出来再将光标移到中间写其他的代码
	}

}

猜你喜欢

转载自blog.csdn.net/qq_42265608/article/details/90632810