计时器

一、窗口化

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--计时器的更多相关文章

  1. 【Java】Java计时器(秒表)

    https://blog.csdn.net/c_jian/article/details/50506759 应用名称:Java计时器 用到的知识:Java GUI编程 开发环境:win8+eclips ...

  2. Java计时器Timer和TimerTask用法

    package com.sy.game.test; import java.util.Timer; import java.util.TimerTask; public class TimeTask ...

  3. java计时器

    //用于计时,要求xx秒后开始发送短信,短信之间间隔xx秒 public static Date dateOperateBySecond(Date date,int second){ Calendar ...

  4. Java线程与多线程教程

    本文由 ImportNew - liken 翻译自 Journaldev.   Java线程是执行某些任务的轻量级进程.Java通过Thread类提供多线程支持,应用可以创建并发执行的多个线程. 应用 ...

  5. Java的Timer定时器

    Timer主要用于Java线程里指定时间或周期运行任务,它是线程安全的,但不提供实时性(real-time)保证. 上面提到了守护线程的概念. Java分为两种线程:用户线程和守护线程. 所谓守护线程 ...

  6. Java多线程面试问答

    今天,我们将讨论Java 多线程面试问答. 线程是Java面试问题中的热门话题之一.在这里,我从面试的角度列出了大多数重要的Java多线程面试问题,但是您应该对Java线程有足够的知识来处理后续问题. ...

  7. 启动Tomcat自动加载(运行)类

    其实这是紧跟着我上次写的java计时器Timer的,因为Timer的测试类写好后,不可能要通过什么东西去触发,对已经存在的时间点进行监控 所以,在启动项目是自动运行此类 方法如下: 一.在web.xm ...

  8. spring 定时任务?

    一.什么是定时任务? 我们在项目中遇到的需求: 需要定时送异步请求. 二.怎么实现? 2.1  mvc中启用定时任务. <?xml version="1.0" encodin ...

  9. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  10. java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器

    多线程并发就像是内功,框架都像是外功,内功不足,外功也难得精要. 1.进程和线程的区别 一个程序至少有一个进程,一个进程至少有一个线程. 用工厂来比喻就是,一个工厂可以生产不同种类的产品,操作系统就是 ...

随机推荐

  1. C#中windows服务安装方法

    关于windows服务的编写方法,参考:http://www.cnblogs.com/sorex/archive/2012/05/16/2502001.html 我这里就补充一下安装方法. 1.首先打 ...

  2. android自定义View的绘制原理

    每天我们都会使用很多的应用程序,尽管他们有不同的约定,但大多数应用的设计是非常相似的.这就是为什么许多客户要求使用一些其他应用程序没有的设计,使得应用程序显得独特和不同. 如果功能布局要求非常定制化, ...

  3. 工作中常用的linux命令(1)

    1.cd :进入一个目录,例如进入/home/admin目录:cd /home/admin 2.pwd :查看当前所在目录:如图: 3.ls :列出当前目录下的所有文件: 4.ll :列出当前目录下的 ...

  4. windows 下安装或者卸载memcache

    1.安装到系统服务中: 在doc中:执行此软件 memcached.exe -d install(如果提示错误,要找到cmd.exe用管理员身份打开) 2.卸载: 在doc中:执行此软件 memcac ...

  5. ORA-00904:"T1"."AREA_ID" :标识符无效

    1.错误描述 ORA-00904:"T1"."AREA_ID" :标识符无效 00904 . 00000 - "%s:invalid identifi ...

  6. java并发:Synchronized 原理

    1.同步代码块: 反编译结果: monitorenter : 每个对象有一个监视器锁(monitor).当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取moni ...

  7. GridView中使用 jQuery DatePicker (UpdatePanel)

    1.无UpdatePanel   1.代码 <script> $(function () { $('.myDatePickerClass').datepicker({ dateFormat ...

  8. JAVA容器的那些事—集合

    1.首先我们先讲下Collection接口 Collection接口:Collection是最基本的集合接口,它是由一个独立元素所组成的序列,这些元素服务一条或多条规则.一个Collection代表一 ...

  9. 试着讲清楚:js代码运行机制

    一. js运行机制 js执行引擎 经常看文章的说到js是带线程的,其实这个说法非常的模糊,准确的是js执行引擎是单线程的,js执行引擎就是js代码的执行器,有了这个概念就可以下来说说js是如何运行的了 ...

  10. Css3关键帧动画

    @keyframes设置动画规则,可以理解为一个剧本: 1.name动画的名字必需填写 2.可以使用百分比0%-100%或者from...to...必填内容: 3.需要变化css的样式:必需: ani ...