Java 线程实现秒表

多线程实现的秒表 MFC实现的多线程秒表的例子,是学习多线程不错的参考 立即下载
package ch2;


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.*;


public class Timer extends JFrame implements Runnable{
private JButton start,stop,pause;    //三个按钮
private JLabel minisec,minute,second;   //三个时间点
private JLabel fen,miao;//两个字
private Font font=new Font("Consolas",Font.BOLD,50);//字体
private Font font2=new Font("宋体",Font.BOLD,35);
Container c;
private Thread thread=null;
Timer(){
init();//初始化
setVisible(true);//窗口可见
setResizable(false);//false窗口固定大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出并关闭
}
public void init() {
this.setTitle("秒表");//设置标题
this.setBounds(400, 200, 500, 300);//窗口大小
c = getContentPane();
c.setLayout(null);//自定义布局
/*开始按钮*/
start=new JButton("开始");
start.setBounds(new Rectangle(50,180,80,30));

c.add(start);

start.addActionListener(new ActionListener() {/*添加按钮的事件*/
public void actionPerformed(ActionEvent evt) {
start.setEnabled(false);
stop.setEnabled(true);
pause.setEnabled(true);
Start();
}
});
/*停止按钮*/
stop=new JButton("停止");
stop.setBounds(new Rectangle(210,180,80,30));
c.add(stop);
stop.setEnabled(false);//false不可操作当前按钮
stop.addActionListener(new ActionListener() {//事件
public void actionPerformed(ActionEvent evt) {
start.setEnabled(true);
stop.setEnabled(false);
pause.setEnabled(false);
Stop();

}
});
/*暂停按钮*/
pause=new JButton("暂停");
pause.setBounds(new Rectangle(370,180,80,30));
pause.setEnabled(false);
c.add(pause);
pause.addActionListener(new ActionListener() {//事件
public void actionPerformed(ActionEvent evt) {
start.setEnabled(true);
stop.setEnabled(true);
pause.setEnabled(false);
Pause();

}
});
/*各个组件的位置*/
minute=new JLabel("00");
minute.setBounds(new Rectangle(60,48,80,100));
minute.setFont(font);
c.add(minute);

fen=new JLabel("分");
fen.setBounds(new Rectangle(150,53,80,80));
fen.setFont(font2);
c.add(fen);

second=new JLabel("00");
second.setBounds(new Rectangle(220,48,80,100));
second.setFont(font);
c.add(second);

miao=new JLabel("秒");
miao.setBounds(new Rectangle(310,53,80,80));
miao.setFont(font2);
c.add(miao);

minisec=new JLabel("00");
minisec.setBounds(new Rectangle(380,48,80,100));
minisec.setFont(font);
c.add(minisec);
}
public void Start() {
if(thread==null)//当线程没有开始的时候
{
thread=new Thread(this);
thread.start();
}
else {//暂停后线程存在,恢复
thread.resume();
}
}
public void Stop() {
if(thread!=null) {
thread.stop();
thread=null;
}
minute.setText("00");
second.setText("00");
minisec.setText("00");
}
public void Pause() {
if(thread!=null) {
thread.suspend();//线程存在,挂起,也就是暂停的意思
}


}

/*这个就是线程啦,也就是算法*/

public void run()
{
int m=0,s=0,ms=0;
while(true) {
ms++;
if(ms>=10) {
ms=0;
s++;
if(s>=60) {
s=0;
m++;

if(m>=60) {

/*当等于60分钟的时候,就开始变时分秒来计时啦,然后进入另一个循环。如果你只要分的话,就改成if(m>=60) {m=0;break;}*/

m=1;
s=0;
ms=0;
fen.setText("时");
miao.setText("分");
while(true) {
ms++;
if(ms>=60) {
ms=0;
s++;
if(s>=60) {
s=0;
m++;
if(m>=24) {
m=0;
break;
}
}
}
minisec.setText(String.format("%02d", ms));
second.setText(String.format("%02d", s));
minute.setText(String.format("%02d", m));
try {
           Thread.sleep(1000);     
       } catch (InterruptedException e) {
           break;
       }
}
break;
}
}
}
minisec.setText(String.format("%02d", ms));
second.setText(String.format("%02d", s));
minute.setText(String.format("%02d", m));
try {
            Thread.sleep(100);     
        } catch (InterruptedException e) {
            break;//出问题就终止异常
        }
}

}

/*主函数*/

public static void main(String[] args) {
Timer timer=new Timer();
}
}

 

Java线程模块Java线程之秒表 Java线程模块Java线程之秒表新手学习Java线程模块时,利用Java中设置线程的暂停间隔,做的简易秒表 立即下载

相关推荐

立创·庐山派-K230-CanMV(嘉楠勘智)开发板通过ATK-ESP8266实现图像识别数据无线传输至原子云

本文详细介绍了如何使用立创·庐山派-K230-CanMV开发板,通过ATK-ESP8266 WIFI模块实现图像识别数据的无线传输至原子云平台。内容包括硬件连接、软件环境搭建、AT指令控制、原子云连接及数据上传的全过程,并提供了实用的调试技巧和常见问题解决方案,为物联网应用开发提供了完整实践指南。

potato的博客 741

java线程方式实现秒表

import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimerTask; public class TestTimer extends TimerTask {  @Override  public void run() {      Date date=new Date();

ld513508088的专栏 833

新能源充电桩充电枪口标准

建立的标准确保了新能源汽车充电的安全性、兼容性和效率,促进了新能源汽车产业的发展。

网络安全的研究者、新能源行业的追求者 4688

用线程和接口两种方法实现的java秒表

一、线程实现,代码如下:import java.util.Date; class Clockxian extends Thread{ public void run(){ while(true){ System.out.println(new Date()); try { T

qq_15137753的博客 349

SAP IDOC与EDI实战解析:从基础原理到跨系统采购订单同步

本文深入解析了SAP IDOC与EDI在企业数据交换中的核心作用,通过跨系统采购订单同步的实战案例,详细阐述了从基础原理到配置部署的全过程。文章将IDOC比作标准化数据“集装箱”,EDI视为高效传输“高速公路”,并提供了从消息类型定义、处理代码开发到全链路测试的完整指南,帮助企业实现自动化、无差错的业务协同。

weixin_28335283的博客 294

IEEE Transactions on Industrial Informatics(TII) 投稿须知- Initial Submission

请注意,您可以在作者中心查看稿件的当前状态,如:在EIC办公室、分配给AE、AE邀请审稿人、AE指定审稿人、正在审稿、等待AE决定、等待EIC决定。为了确保公正的评审过程,我们要求在稿件中没有任何作者的身份(不包括作者的姓名、传记、隶属关系、求职信、签署的版权表格、识别脚注、致谢等)。如果你的手稿有很大一部分已经在会议上发表过,论文必须隐藏所有作者的身份,这样会议论文就可以被引用,就好像它是由不同的作者写的一样。请注意,通常你的技术成就是根据被引用的次数来评估的,而不是根据发表的论文数量。

loinleeai的博客 4429

Java实现秒表

package experiment4; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.BorderLayout; import java.util.TimerTask; import java.text.Decim...

资资的博客 771

CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装

本文详细介绍了如何确定显卡支持的CUDA版本、选择对应的cuDNN版本,并逐步安装CUDA、cuDNN和PyTorch。首先,通过命令行输入nvidia-smi.exe查看显卡支持的CUDA版本。接着,根据CUDA版本选择对应的cuDNN版本并下载。然后,从NVIDIA官方网站下载CUDA安装包,按照提示进行安装,并检查是否安装成功。同样地,下载cuDNN安装包,解压后将文件拷贝到CUDA安装目录中,并通过命令行验证安装是否成功。最后,根据PyTorch官网的指引,选择合适的安装命令进行PyTorch的安装

2501_90350274的博客 5098

java实现秒表计时器

利用线程实现一个类似秒表的计时器,点击“计时”开始计时并以0.1秒的间隔不断更新当前时间;单击“停止”按钮,则中止计时。

wind89g的博客 471

避坑!!!Stata双重机器学习(DML)遇到的问题及解决方式

除了上述代码,我还在Anaconda Navigator图形界面来更新conda,更新过的小伙伴应该都知道,这个过程非常漫长,我大概经历了2-3天,在这个过程中电脑一直运行,但是很不幸,无论哪种方式,最终都没有更新到最新版本。安装成功之后,我抱着试一试的心态再次在stata18MP中运行,没有想到,这次竟然运行成功了!我之前一直用的是stata17MP版本,在运行DML的时候,代码一直出错,我以为是python路径没有设置好的原因,就各种在python上面下功夫,经过各种查找后,确定DML必须要在。

王樰沫 3847

全志F1C100S/F1C200S学习笔记(1)——基础简介及资料

资料: 荔枝派资料下载站 荔枝派github 荔枝派中文论坛 荔枝派DIY-github资料 荔枝派Nano 全流程指南 芒果派 坑网

丨晋丨 1万+

使用Java实现三种精度的秒表(计时器)

1 引入 众所周知,链表和数组各有优缺点,其中增删改查操作速度就是显著差距之一,在学习ArrayList和LinkedList时,我想用代码得到它们进行相同操作(如add(int index, E element),get(int index)等)时所耗时间的具体差距进一步证明它们的优缺点,所以此时就产生了一个秒表 的必要性。(此秒表并不支持即时查询。但在篇末的拓展有描述实时查询思路) 我想实现的效果: public static void main(String[] args){ 秒表 sw = new

weixin_51657833的博客 2265

Spatial-ORMLLM: Improve Spatial Relation Understanding in the Operating Room with Multimodal Larg...

手术室(OR)中的精准空间建模是众多临床任务的基础,可为术中感知、风险规避及手术决策提供支持。现有方法虽利用大规模多模态数据集进行 latent 空间对齐,以隐式学习空间关系,但却忽视了多模态大型语言模型(MLLM)的3D能力。然而,这种方法存在两个问题:1)手术室通常缺乏多台视频和音频传感器,多模态3D数据难以获取;2)仅依赖易获取的2D数据训练,无法捕捉复杂场景中的细粒度细节。为解决这一问题,我们提出——首个针对手术室3D空间推理的大型视觉语言模型。

UnknownBody_2的博客 592

JAVA用子线程实现秒表计时(包括暂停,恢复功能)

package practice2; import java.util.Scanner; //子线程类 class MyThread1 extends Thread{ private final Object lock = new Object(); static int min=0,sec=0; private boolean pause = false;//阻塞标志(默认关闭) ...

alphadunk的博客 1829

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Java实现秒表类

Java实现秒表类 这个类用了主要用了多线程和System.currentTimeMillis()获取当前时间 下面是主要代码 package com.syj.pojo; import java.util.concurrent.TimeUnit; /** * @author syj * @date 2021/5/9 */ public class Chronograph { private long milliseconds; private long millisecon

Syjavascript的博客 1008

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

深度讲解Java多线程开发—电子表项目实现

在修改时间的同时,会设定进行秒表运行的threadSecond线程,该线程的使用是在点击“启动秒表”按钮之后启动该线程,同时在后台开始计时,每秒对数据更新一次,之后在“暂停”按钮中添加事件,在点击“暂停”之后可以将threadSecond暂停,同时此按钮变成“继续”,在点击继续之后,threadSecond线程会继续执行,直到点击了“停止计时”之后,该线程将会跳出循环中止。timeShow.setText(year + “年” + month + “月” + day + “日” + week);

2401_87195671的博客 650

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java从1开始计时用线程_java用线程实现重新开始计时的秒表的例子,求大神解答...

展开全部import javax.swing.*;import java.awt.HeadlessException;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.Font;import java.awt.event.ActionListener;import java.awt.event.Actio...

weixin_30045091的博客 285

【JAVA】用swing实现的一个秒表

<br />http://changer0702.javaeye.com/blog/482346<br /> <br /><br />学习操作系统课程的时候提到了一个非常重要的概念thread(线程),为了加深理解老师要求课后用java写一个秒表的小程序,经过两个小时的努力终于写完了,界面截图如下所示!<br />   <br />    实体类StopWatchJava代码  public class StopWatch {     private int hour;     private int mi

PSDCD的专栏 1457

java中的电表项目_深度讲解Java多线程开发—电子表项目实现

目录1、前端界面的设计2、添加控件的事件监听3、通过主线程对时间实时显示4、启用线程实现对时间的修改5、线程同步实现秒表功能6、运行并进行调试Hello,大家好,我是灰小猿!今天和大家分享一个使用Java多线程开发的电子表项目,可以实现电子表中时间的实时显示,修改以及秒表的功能。Java电子表设计的设计顺序为从前端界面到后端类及线程的设计,之后将前后端相结合而成。以下是电子表的开发过程:1、前端界...

weixin_28977123的博客 1086

多线程的GUI—Java

多线程实现的计数的秒表控制程序。package GUIThread; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JApplet; import

崔洪振367 3189

java 一秒一次_深度讲解Java多线程开发—电子表项目实现

Hello,大家好,我是Java刘先生!今天和大家分享一个使用Java多线程开发的电子表项目,可以实现电子表中时间的实时显示,修改以及秒表的功能。Java电子表设计的设计顺序为从前端界面到后端类及线程的设计,之后将前后端相结合而成。以下是电子表的开发过程:1、前端界面的设计电子表的前端界面设计依据JFrame窗体和Container容器,采用绝对定位的方法对时间显示、时间修改、秒表显示等控件进行合...

weixin_36278243的博客 650
下一篇: web标准化
Ivy_Ch
博客等级 码龄8年 9粉丝 33原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值