java--计时器
计时器
一、窗口化
public class Pro extends JFrame{
private JTextField textField = new JTextField(45);//系统时间文本框
private JTextField textField2 = new JTextField(45);//倒计时文本框
int t1=0,x=1;
private boolean TT = true;
public Pro()throws InterruptedException{
setTitle("计时器"); //标题
setLayout(null); //取消布局管理器设置
setBounds(100,120,450,450);
Container c = getContentPane(); //容器对象
JButton b1 = new JButton("开始");
b1.setBounds(180,130,80,30);
JButton b2 = new JButton("暂停");
b2.setBounds(180,185,80,30);
JButton b8 = new JButton("清零");
b8.setBounds(180,240,80,30);
c.add(b1);c.add(b2);c.add(b8);//增加控件
setVisible(true);//窗口可视化
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//结束窗口所在的应用程序
textField.setFont(new Font("宋体",Font.BOLD,60));//改变数字的大小
textField.setBackground(Color.white);//改变文本框的颜色
textField.setBounds(10,10,400,90);//改变文本框的大小
textField.setEditable(false);//控件不能编辑
add(textField);//增加文本框,显示系统时间
textField2.setFont(new Font("宋代",Font.BOLD,60));
textField2.setBackground(Color.white);
textField2.setBounds(10,280,400,90);
textField2.setEditable(false);
add(textField2);//增加文本框,显示计时
}
public static void main(String[] args)throws InterruptedException {
new Pro();
}
}

二、全部代码
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.text.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;
import java.util.Date;
import java.text.SimpleDateFormat; public class Pro extends JFrame{ private JTextField textField = new JTextField(45);//系统时间文本框
private JTextField textField2 = new JTextField(45);//倒计时文本框
int t1=0,x=1;
private boolean TT = true; public Pro()throws InterruptedException{
setTitle("计时器"); //标题
setLayout(null); //取消布局管理器设置
setBounds(100,120,450,450);
Container c = getContentPane(); //容器对象
JButton b1 = new JButton("开始");
b1.setBounds(180,130,80,30);
JButton b2 = new JButton("暂停");
b2.setBounds(180,185,80,30);
JButton b8 = new JButton("清零");
b8.setBounds(180,240,80,30);
c.add(b1);c.add(b2);c.add(b8);//增加控件
setVisible(true);//窗口可视化
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//结束窗口所在的应用程序 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 textField.setFont(new Font("宋体",Font.BOLD,60));//改变数字的大小
textField.setBackground(Color.white);//改变文本框的颜色
textField.setBounds(10,10,400,90);//改变文本框的大小
textField.setEditable(false);//控件不能编辑
add(textField);//增加文本框,显示系统时间
textField.setText(" "+df.format(new Date()));//获系统时间 textField2.setFont(new Font("宋代",Font.BOLD,60));
textField2.setBackground(Color.white);
textField2.setBounds(10,280,400,90);
textField2.setEditable(false);
add(textField2);//增加文本框,显示计时
textField2.setText(" 计时:"+t1); //获取系统时间时动态显示,线程
Display timedisplay = new Display();
timedisplay.start() ; //添加一个action监听,确定键
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//计时开始
Dis tt = new Dis();
tt.start();
}
}); //添加一个action监听,暂停键
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Dis tt2 = new Dis();
tt2.sto();
}
}); //添加一个action监听,清零键
b8.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
textField2.setText(" 计时:"+"0");
t1=0;
}
});
} //显示系统时间
private class Display extends Thread {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");//系统时间以时:分:秒显示
public Display() { }
@Override
public void run(){
while(true){
textField.setText(" "+sdf.format(new Date()));
try {
Thread.sleep(1000) ;//迟顿一秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
} //计时开始
private class Dis extends Thread{
public Dis(){ }
public void sto(){
TT=false;
}
public void run(){
TT=true;
while(TT){
t1++;
textField2.setText(" 计时:"+t1);
try {
Thread.sleep(1000) ;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} } public static void main(String[] args)throws InterruptedException {
new Pro();
}
}
三、效果图

java--计时器的更多相关文章
- 【Java】Java计时器(秒表)
https://blog.csdn.net/c_jian/article/details/50506759 应用名称:Java计时器 用到的知识:Java GUI编程 开发环境:win8+eclips ...
- Java计时器Timer和TimerTask用法
package com.sy.game.test; import java.util.Timer; import java.util.TimerTask; public class TimeTask ...
- java计时器
//用于计时,要求xx秒后开始发送短信,短信之间间隔xx秒 public static Date dateOperateBySecond(Date date,int second){ Calendar ...
- Java线程与多线程教程
本文由 ImportNew - liken 翻译自 Journaldev. Java线程是执行某些任务的轻量级进程.Java通过Thread类提供多线程支持,应用可以创建并发执行的多个线程. 应用 ...
- Java的Timer定时器
Timer主要用于Java线程里指定时间或周期运行任务,它是线程安全的,但不提供实时性(real-time)保证. 上面提到了守护线程的概念. Java分为两种线程:用户线程和守护线程. 所谓守护线程 ...
- Java多线程面试问答
今天,我们将讨论Java 多线程面试问答. 线程是Java面试问题中的热门话题之一.在这里,我从面试的角度列出了大多数重要的Java多线程面试问题,但是您应该对Java线程有足够的知识来处理后续问题. ...
- 启动Tomcat自动加载(运行)类
其实这是紧跟着我上次写的java计时器Timer的,因为Timer的测试类写好后,不可能要通过什么东西去触发,对已经存在的时间点进行监控 所以,在启动项目是自动运行此类 方法如下: 一.在web.xm ...
- spring 定时任务?
一.什么是定时任务? 我们在项目中遇到的需求: 需要定时送异步请求. 二.怎么实现? 2.1 mvc中启用定时任务. <?xml version="1.0" encodin ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
多线程并发就像是内功,框架都像是外功,内功不足,外功也难得精要. 1.进程和线程的区别 一个程序至少有一个进程,一个进程至少有一个线程. 用工厂来比喻就是,一个工厂可以生产不同种类的产品,操作系统就是 ...
随机推荐
- soj1091 指环王 bfs+hash+剪枝
原题链接http://acm.scu.edu.cn/soj/problem.action?id=1091 这题的主要解法就是搜索,我用的是bfs,用map将二维数组处理成字符串作为主键,到达当前状态的 ...
- myeclipse8.5打包jar并引入第三方jar包
用myeclipse自带的export工具,无法引入被引用的第三方的jar包,有两种方式: (1)直接export出jar包,解压jar包(第三方的jar包太多,太麻烦) 在创建好的JAR文件里找到M ...
- C#实现二分法查找算法
/// <summary> /// 二分法查找 /// </summary> /// <param name="arr"></param& ...
- Davinci DM6446开发攻略——u-boot-1.3.4移植(1)
UBOOT的版本更新速度比较快,截止今天,稳定正式的版本是u-boot-2009.11-rc2,而TI最新的EVM开发包里的UBOOT是1.2.0版本,国内很多公司还一直使用u-boot-1.1.4和 ...
- BIOS中的UEFI和Legacy启动模式
BIOS即Basic Input/Output System,翻成中文是"基本输入/输出系统",是一种所谓的"固件",负责在开机时做硬件启动和检测等工作,并且担 ...
- HI3531的nand flash测试
void NAND_Init() { *(unsigned int *)(0x20030000 + 0xd0) = 7; delay_x(0X5000); *(unsigned int * ...
- JSP标签c:forEach报错(二)
1.今天,我在用c标签写一些样例,结果出现一些错误,写下作为记录 具体错误如下: 三月 31, 2014 9:46:28 下午 org.apache.catalina.core.StandardWra ...
- Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor
1.错误描述 2014-7-13 1:45:53 org.apache.struts2.spring.StrutsSpringObjectFactory info 信息: ... initialize ...
- Linux显示服务器完整的状态信息
Linux显示服务器完整的状态信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ apachectl [fullstatus] Usage: /usr/sbi ...
- 小白——java基础之数据类型
PS:此文章为小白提供,大佬请绕道!!!! 首先特别感谢大才哥给我提供这个平台,未来我希望把java这个版块的内容补全. 今天要讲的是数据类型,最最最基础的内容~ java标识符.数据类型.关键字 开 ...