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.进程和线程的区别 一个程序至少有一个进程,一个进程至少有一个线程. 用工厂来比喻就是,一个工厂可以生产不同种类的产品,操作系统就是 ...
随机推荐
- WC2016自测
挑战NPC 原题链接 爆搜20分,贪心10分,网络流30分 //挑战NPC #include <cstdio> #include <cstring> #include < ...
- spring 配置文件无法加载,junit找不到xml配置文件java.lang.IllegalStateException: Failed to load ApplicationContext
最近遇到一个奇怪的问题.maven项目再进行junit单元测试的时候发现无法加载配置文件.一会能加载一会又不能加载.然后试了在src/main/resource下面的配置文件放到src/test/re ...
- struts2框架概述
框架概述 什么是框架,为什么使用框架,框架优点 框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你 ...
- 30分钟掌握ES6/ES2015核心内容(上)
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- c#判断外部可执行程序是否已打开(若未打开则打开)
#region 通过当前代码执行路径向上找到相关exe,并根据processes.Length判断是否已启动 private bool CheckAndOpenExe(string exeName) ...
- 胖虎都看得懂的CSS入门
CSS入门 CSS是什么 摘自维基百科 层叠样式表(英语:Cascading Style Sheets,简写CSS),又称串样式列表.级联样式表.串接样式表.层叠样式表.階層式樣式表,一种用来为结构化 ...
- stl string 容器的使用
string 是基本的字符串序列容器,对应数据结构中的串,和vector<char>也类似,但功能更多 string 容器的使用 1,string 的构造函数是. string() 2,s ...
- Java Web项目中缺少Java EE 6 Libraries怎么添加
Java Web项目中缺少Java EE 6 Libraries怎么添加 具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build P ...
- Hibernate中的条件查询完成类
Hibernate中的条件查询有以下三个类完成: 1.Criteria:代表一次查询 2.Criterion:代表一个查询条件 3.Restrictions:产生查询条件的工具类
- [INS-32052] Oracle基目录和Oracle主目录位置相同
1.错误描述 [INS-32052] Oracle基目录和Oracle主目录位置相同 2.错误原因 Oracle基目录和Oracle主目录位置相同 3.解决办法 Oracle基目录和Ora ...