java课设秒表_Java写的秒表
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写的秒表相关推荐
- java课设 五子棋_Java课程设计 ————五子棋 (个人博客)
JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 •个人负责模块或任务说明 1.主框架类:设置棋盘窗体,颜色等 2.isWin方法:判断胜负 •自己的代码提交记录截图 •自己负责模块或任 ...
- java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization aid that allows a set of threads to all ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- 2019-6-28 训练日记-写Java课设报告和记一次糟糕的cf比赛
下午那场cf打得心烦,B题怎么都写不出来,后来直接跳C题,发现也不会,看D题都过1000人了,发现果然是个sb题,然后发公告B题错误了.不计分.我就觉得那题绝对没有那么简单. 今天就把Java的课设的 ...
- java 课设 商品库存管理系统
比较辛苦的java课设!写了蛮久的,战斗了好多个通宵. 下载https://download.csdn.net/download/qq_37871063/10297290 入门:JAVAFX+MVC+ ...
- Java课设:火车售票系统2.0
文章目录 注意 系统概述 数据库表的变化 类名变化 运行 管理员登陆 管理员界面 录入车次 修改车次信息 查看所有车次 删除车次 管理员用户资料查询 注意 火车售票系统等java课设已经停止更新了,博 ...
- 华南农业大学课设——数据结构课设、Java课设、操作系统课设
文章目录 缘起 大二上-数据结构课设(高校教学管理系统)-C++.Qt 视频演示 感想 大二下-Java课设(流程图绘制程序)-JavaFX 视频演示 感想 大三上-操作系统课设(模拟磁盘文件系统实现 ...
- 学生信息管理系统(成绩统计)Java课设
下载地址:学生信息管理系统(成绩统计)Java课设-Web服务器文档类资源-CSDN下载 ├── StudentInfo │ ├── bin │ │ ├── com │ │ │ ...
- JAVA课设单人版五子棋小游戏
内容介绍:该程序为Java课设的单人版五子棋小游戏,通过eclipse编辑,实现了动作事件的监听与处理,以及JavaSwing的界面编程. 编辑排行榜,包含局数,结果,步数,以及"关于我们 ...
最新文章
- 看问题要看到本质:从Web服务器说起
- 专家预测第二波WannaCry勒索病毒攻击即将到来!
- mongdb2008puls4.0.3安装_Mathematica 10.3安装教程
- Spark精华问答 | spark性能优化方法
- MySQL5.7.x 安装 Linux7环境
- 【前端必备】七、页面性能优化
- redis-cli 命令总结
- python中利用pygame模块输出文字
- 学习python_day2
- centos压缩和解压缩命令之zip
- 2021英一Text4精读、背景和语法分析(网络中立是生是死?难下定论)
- Python转义字符
- 数据模型及E-R模型
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识...
- [面试][PTA]充满趣味的程序员文史综合卷
- 蔡松龙---小白羊餐饮
- Jenkins的制品管理
- 大数据线性回归预测学生成绩
- linux 修改vg名称,hp-ux 修改vg属性 | 旺旺知识库
- 高通终端修改nv值后,不重启终端即生效