import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class StopWatch extends WindowAdapter{

static JFrame jf=new JFrame();

static TimeRun t;

public StopWatch(){

jf.setSize(300,100);

jf.setTitle("秒表");

jf.setVisible(true);

jf.setLocation(500,500);

jf.addWindowListener(this);

}

public static void main(String args[]){

StopWatch w=new StopWatch();

TimeRun t=new TimeRun();

t.run();

}

public void windowClosing(WindowEvent e){

System.exit(0);

}

}

class TimeRun extends Thread implements ActionListener{

JLabel jl=new JLabel("时间");

JTextField jtf=new JTextField(" ");

JLabel jl2=new JLabel("秒");

JButton start=new JButton("开始");

JButton stop=new JButton("暂停");

JButton clear=new JButton("清零");

JPanel jp1=new JPanel();

JPanel jp2=new JPanel();

private float time=0;

private boolean Run=false;

private String time2str(float t) {

int h = (int)t/36000;

int m = ((int)t-h*36000)/600;

double s = (t%600)/10.00;

return String.format("%02d : %02d : %04.1f", h,m,s);

}

public TimeRun(){

jl.setAlignmentX(JLabel.CENTER_ALIGNMENT);

jl2.setAlignmentX(JLabel.CENTER_ALIGNMENT);

jtf.setHorizontalAlignment(JTextField.CENTER);

jtf.setColumns(15);

jp1.add(jl,BorderLayout.WEST);

jp1.add(jtf,BorderLayout.CENTER);

jp1.add(jl2,BorderLayout.EAST);

jp2.setLayout(new FlowLayout());

jp2.add(start);

jp2.add(stop);

jp2.add(clear);

StopWatch.jf.add(jp1,BorderLayout.CENTER);

StopWatch.jf.add(jp2,BorderLayout.SOUTH);

StopWatch.jf.setVisible(true);

start.addActionListener(this);

stop.addActionListener(this);

clear.addActionListener(this);

}

public void run() {

jtf.setText(time2str(time));

while (!this.isAlive() && !this.isInterrupted()) {

if (Run) {

jtf.setText(time2str(time));

try {

Thread.sleep(100);

} catch (InterruptedException e1) {

}

time += 1;

}

}

}

public void actionPerformed(ActionEvent e){

String event=e.getActionCommand();

if(event=="开始"){

StopWatch.jf.setTitle("Start...");

Run=true;

start.setEnabled(false);

stop.setEnabled(true);

clear.setEnabled(false);

}else if(event=="暂停"){

Run=false;

StopWatch.jf.setTitle("Pause...");

stop.setEnabled(false);

start.setEnabled(true);

clear.setEnabled(true);

}else if(event=="清零"){

time=0;

Run=false;

jtf.setText(""+time);

StopWatch.jf.setTitle("Clean...");

start.setEnabled(true);

stop.setEnabled(false);

clear.setEnabled(false);

}

}

}

运行结果如下:

java课设秒表_Java写的秒表相关推荐

  1. java课设 五子棋_Java课程设计 ————五子棋 (个人博客)

    JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 •个人负责模块或任务说明 1.主框架类:设置棋盘窗体,颜色等 2.isWin方法:判断胜负 •自己的代码提交记录截图 •自己负责模块或任 ...

  2. java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统

    继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization aid that allows a set of threads to all ...

  3. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  4. 2019-6-28 训练日记-写Java课设报告和记一次糟糕的cf比赛

    下午那场cf打得心烦,B题怎么都写不出来,后来直接跳C题,发现也不会,看D题都过1000人了,发现果然是个sb题,然后发公告B题错误了.不计分.我就觉得那题绝对没有那么简单. 今天就把Java的课设的 ...

  5. java 课设 商品库存管理系统

    比较辛苦的java课设!写了蛮久的,战斗了好多个通宵. 下载https://download.csdn.net/download/qq_37871063/10297290 入门:JAVAFX+MVC+ ...

  6. Java课设:火车售票系统2.0

    文章目录 注意 系统概述 数据库表的变化 类名变化 运行 管理员登陆 管理员界面 录入车次 修改车次信息 查看所有车次 删除车次 管理员用户资料查询 注意 火车售票系统等java课设已经停止更新了,博 ...

  7. 华南农业大学课设——数据结构课设、Java课设、操作系统课设

    文章目录 缘起 大二上-数据结构课设(高校教学管理系统)-C++.Qt 视频演示 感想 大二下-Java课设(流程图绘制程序)-JavaFX 视频演示 感想 大三上-操作系统课设(模拟磁盘文件系统实现 ...

  8. 学生信息管理系统(成绩统计)Java课设

    下载地址:学生信息管理系统(成绩统计)Java课设-Web服务器文档类资源-CSDN下载 ├── StudentInfo │   ├── bin │   │   ├── com │   │   │   ...

  9. JAVA课设单人版五子棋小游戏

    内容介绍:该程序为Java课设的单人版五子棋小游戏,通过eclipse编辑,实现了动作事件的监听与处理,以及JavaSwing的界面编程.  编辑排行榜,包含局数,结果,步数,以及"关于我们 ...

最新文章

  1. 看问题要看到本质:从Web服务器说起
  2. 专家预测第二波WannaCry勒索病毒攻击即将到来!
  3. mongdb2008puls4.0.3安装_Mathematica 10.3安装教程
  4. Spark精华问答 | spark性能优化方法
  5. MySQL5.7.x 安装 Linux7环境
  6. 【前端必备】七、页面性能优化
  7. redis-cli 命令总结
  8. python中利用pygame模块输出文字
  9. 学习python_day2
  10. centos压缩和解压缩命令之zip
  11. 2021英一Text4精读、背景和语法分析(网络中立是生是死?难下定论)
  12. Python转义字符
  13. 数据模型及E-R模型
  14. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识...
  15. [面试][PTA]充满趣味的程序员文史综合卷
  16. 蔡松龙---小白羊餐饮
  17. Jenkins的制品管理
  18. 大数据线性回归预测学生成绩
  19. linux 修改vg名称,hp-ux 修改vg属性 | 旺旺知识库
  20. 高通终端修改nv值后,不重启终端即生效

热门文章

  1. Autoform R7中文版汽车钣金件分析CAE视频教程
  2. 魅族Android10内测招募答案,不止有魅族17系列,魅族这10款机型开启Android10内测招募...
  3. Centos7环境下编译安装Mysql
  4. java webwork_WebWork简单示例
  5. windows谷歌浏览器访问10080端口
  6. 通信网络中英文对照表
  7. 浅谈Base64编码
  8. css3 卡片亮光_9种纯CSS3人物信息卡片动态展示效果
  9. (一)cocos2d-x初识
  10. python OMP error