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);//第三部,让界面显示出来,这句话一定在最后
//但凡是成对的元素,必须要先写出来再将光标移到中间写其他的代码
}
}
JAVA秒表(线程)
最新推荐文章于 2022-03-10 09:38:52 发布