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

java秒表/计时器实现 使用java.util.Timer;java.util.TimerTask类 /*date:2013/06/13 * author:idevcod@163.com * */ import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java. 阅读详情

http://changer0702.javaeye.com/blog/482346

 

学习操作系统课程的时候提到了一个非常重要的概念thread(线程),为了加深理解老师要求课后用java写一个秒表的小程序,经过两个小时的努力终于写完了,界面截图如下所示!

   

    实体类StopWatch

Java代码    收藏代码
  1. public class StopWatch {  
  2.    private int hour;  
  3.    private int minute;  
  4.    private double second;  
  5.    //以一100毫秒为单位设置时间  
  6.    public void setTime(float t){  
  7.        hour= (int)t/36000;  
  8.        minute = ((int)t-hour*36000)/600;  
  9.        second = (t%600)/10.00;    
  10.    }  
  11.    public String toString(){  
  12.         return String.format("%02d : %02d : %04.1f", hour,minute,second);  
  13.    }  
  14. }  

    GUI类StopWatchGUI

Java代码    收藏代码
  1. import java.awt.*;  
  2. import java.awt.event.ActionEvent;  
  3. import java.awt.event.ActionListener;  
  4. import javax.swing.*;  
  5. public class StopWatchGUI extends JPanel{  
  6.     private JPanel centerPanel;  
  7.     private JPanel southPanel;  
  8.     private JLabel label;  
  9.     private JButton start;  
  10.     private JButton stop;  
  11.     private JButton reset;  
  12.     private boolean flag=false;  
  13.     private float   time=0;  
  14.     private StopWatch watch;  
  15.     public StopWatchGUI(){  
  16.         setSouthPanel();  
  17.         setCenterPanel();  
  18.         this.setLayout(new BorderLayout());  
  19.         this.add(centerPanel,BorderLayout.CENTER);  
  20.         this.add(southPanel,BorderLayout.SOUTH);  
  21.         watch=new StopWatch();  
  22.         new Thread(){  
  23.              public void run(){  
  24.             while(true){          
  25.                 if(flag){//start the stopWatch  
  26.                     watch.setTime(time);  
  27.                         label.setText(watch.toString());          
  28.                        try {  
  29.                 Thread.sleep(100);  
  30.                      } catch (InterruptedException e) {  
  31.                 e.printStackTrace();  
  32.                      }  
  33.                  time+=1;  
  34.             }  
  35.             }  
  36.                }  
  37.         }.start();         
  38.     }  
  39.     private void setCenterPanel(){  
  40.         centerPanel=new JPanel();  
  41.         label=new JLabel("00 : 00 : 00.0",JLabel.CENTER);  
  42.         label.setFont(new Font("Serif", Font.BOLD, 30));  
  43.         centerPanel.add(label);  
  44.     }  
  45.     private void setSouthPanel(){  
  46.         southPanel=new JPanel();  
  47.         start=new JButton("Start");  
  48.         stop=new JButton("Stop");  
  49.         reset=new JButton("Reset");  
  50.         start.addActionListener(new StartListener());  
  51.         stop.addActionListener(new StopListener());  
  52.         reset.addActionListener(new ResetListener());  
  53.         southPanel.setLayout(new FlowLayout());  
  54.         southPanel.add(start);  
  55.         southPanel.add(stop);  
  56.         southPanel.add(reset);  
  57.     }  
  58.     public static void main(String[] args)  {  
  59.     JFrame frame=new JFrame("StopWatch");  
  60.     frame.setContentPane(new StopWatchGUI());  
  61.     frame.setSize(300,120);  
  62.     Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();  
  63.     Dimension frameSize=frame.getSize();  
  64.     frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);  
  65.     frame.setResizable(false);  
  66.     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  67.     frame.setVisible(true);  
  68.     }  
  69.       
  70.     class StartListener implements ActionListener {  
  71.           public void actionPerformed(ActionEvent event) {     
  72.     flag=true;  
  73.     start.setEnabled(false);  
  74.     stop.setEnabled(true);  
  75.             reset.setEnabled(false);  
  76.         }  
  77.    }  
  78.     class StopListener implements ActionListener{  
  79.         public void actionPerformed(ActionEvent event) {  
  80.             flag=false;  
  81.             start.setText("Start");  
  82.             start.setEnabled(true);  
  83.             reset.setEnabled(true);  
  84.             stop.setEnabled(false);  
  85.           }   
  86.    }  
  87.    class ResetListener implements ActionListener{  
  88.           public void actionPerformed(ActionEvent event) {  
  89.             flag=false;  
  90.             time=0;  
  91.             watch.setTime(time);  
  92.             label.setText(watch.toString());      
  93.             start.setEnabled(true);  
  94.             stop.setEnabled(true);  
  95.           }   
  96.    }  
  97. }  

 

延迟相乘叠加求和 DMAS (Field II 仿真代码) (Delay Multiply and Sum, DMAS)算法,最初是为雷达微波系统设计的,研究者们对 DMAS 波束合成方法进行了修改,并应用超声成像。结果表明,DMAS 波束合成在模拟和实验中的表现都优于传统的延时叠加(Delay and Sum, DAS),这种新方法带来的主要改进是对比度分辨率明显提高(即主瓣和侧瓣更窄),从而增加了动态范围,提高了 B 型超声图像质量。与传统 DAS 相似,DMAS 算法通过对来自超声换能器阵元的信号应用几何计算延迟来聚焦接收到的波束。 阅读详情

相关推荐

NBU计算机大二下期末

计算机网络 任课老师:JG (放了一学期的他自己的视频和上了一学期网课没什么区别,甚至不如上网课。。。) 考试题型 填空题10*1 判断题10*1 选择题30*1 简答和计算题30(4题) 讨论题20 强烈建议不要再这门课上花太多时间复习,不然有复习了个寂寞的感觉。。。计网是一页开卷的,一页开卷纸不用写太多,第一他不会考太详细;第二反正最后都要被收走。 填空题、判断题基本看懂了英文就能做的差不多;选择题去网上找点英文题多刷一下问题不大;简答题把书上每章根据他上课的内容在开卷纸上抄下就好,今年是解释check

weixin_45816954的博客 710

Java Swing 秒表

作业:让实现一个秒表。 拖了一个月,這两天各种查资料,各种调试,终于暂时可以用了。还有些样式和稳定性的问题,待改善。 Clock.java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JFrame; imp

qq_24504227的博客 804

学习stm32H7之路开始(STM32H7系列1) 前期准备,HAL库框架

2020.01.07 几个重要的参考网址 1.电子工程世界网 http://tags.eeworld.com.cn/tags/STM32H7 链接: link. 2.转:https://blog.youkuaiyun.com/simon223/article/list/2?t=1 链接: link. ———————————————— 版权声明:本文为优快云博主「Simon223」的原创文章,遵循 CC 4....

kengkengkeng963的博客 3409

swing之简易秒表

package com.swing; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.Swing.

YW博客 312

ABAP内表数据导出Excel:OLE、ALV与GUI_DOWNLOAD方案全解析

在企业级应用开发中,数据导出是连接后台系统与前端业务分析的关键桥梁。其核心原理是将结构化数据转换为通用文件格式,以实现跨平台的数据交换与可视化。从技术价值看,一个健壮的导出功能能显著提升数据处理效率,减少人工干预,是衡量系统实用性的重要指标。常见的应用场景包括报表生成、数据交接和临时数据提取。本文聚焦于SAP ABAP开发领域,深入探讨如何将内表数据高效、稳定地导出至Excel,涵盖了OLE自动化、ALV标准导出以及基于CL_GUI_FRONTEND_SERVICES与GUI_DOWNLOAD的通用方案,并

weixin_32715349的博客 321

将运算放大器(运放)用作比较器

我们研究了一些经典的运算放大器电路。这些电路中运用了负反馈,因此通常就可以使运算放大器工作在线性区域内。 但是,也可以将运算放大器用作比较器,从而使其以非线性方式工作。由于其输入受到硬驱动,因此其输出电压会对电源轨产生猛烈的冲击。如下文所示,这可能并不总是一种好的设计方法。 变为非线性 在线性应用中,可以对运算放大器做如下理想假设:无限增益和带宽、零输出阻抗、无限输入阻抗,以及输入之间为零伏。也可以将运算放大器以非线性方式使用,但有一些地方要特别注意和处理。 一种常见的配置是仅使用开环运算放大器(无反馈),

ltqdxl的博客 3万+

java swing微调器做一个简单可调显示时分秒的容器

主要用到的是jSpinner的一些属性和事件 1.属性 比如分和秒最大值最小值分别是60和-1(二者都不能显示在界面上,是边界)。 2.事件 stateChanged函数,点击后选择唯一的一个函数,会在源程序中自动添加代微调器状态(数值)改变后的事件,在框架中写入代码 3.代码 应该如何设置时分秒,使其满足生活常识(比如23:59:59,秒数加一后变为00:00:00) 以秒(jSpinn...

qq_41634294的博客 902

SpringBoot项目启动后ShardingSphere5.0首次SQL查询慢?这个预热技巧帮你搞定

本文针对SpringBoot项目集成ShardingSphere 5.0后首次SQL查询慢的问题,深入剖析了其根源在于SQL解析引擎的懒加载与缓存初始化。文章提供了三种有效的预热技巧,包括精准的SQL解析引擎预热、简单查询触发全链路预热以及可配置的生产级方案,帮助开发者将初始化成本提前至应用启动阶段,从而消除性能毛刺,提升用户体验与系统稳定性。

chair的专栏 1062

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

从频谱入手搞定ESD:手把手教你用示波器和频谱仪分析静电干扰(以Type-C接口为例)

本文详细介绍了如何利用示波器和频谱仪分析Type-C接口的ESD干扰问题。通过频谱特性分析、耦合路径诊断和实战测试,提供了一套完整的ESD防护方案,包括三级防护设计和器件选型建议,帮助工程师有效解决静电放电导致的系统故障。

weixin_42662293的博客 344

人体分割笔记总结

人体分割 人体分割(human parsing),属于语义分割任务的子任务,旨在对人类图像进行像素级的是细粒度分割(例如,划分出身体部位和服装)。根据不同的场景,又可以分为单人人体解析(single-person human parsing)和多人人体解析(multi-person human parsing,或者 instance-level human parsing)。除此之外,按照处理媒介分类,还可以分为基于图像的人体解析和基于视频的人体解析。 对于人体解析任务,常用的度量指标包括 Pixel a

jacke121的专栏 4255

用swing实现的一个秒表

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

iteye_17066的博客 327

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 73

用java设计秒表_运用Java编写 秒表程序

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SecondJFrame extends JFrame implements ActionListener,FocusListener{ ...

weixin_29947319的博客 571

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java实现秒表

利用javax.swing.Timer类设计并实现一个模拟秒表功能的应用程序。

Jiafu_Liu的博客 6322

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java显示停留代码_求JAVA的秒表源代码,有暂停等功能

展开全部纯Java做的秒表e5a48de588b662616964757a686964616f31333264636261:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassTestTimerextendsJFrameimplementsActionListener,Runnable{...

weixin_39658474的博客 135

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java窗体程序秒表,帮忙解释一个Java小程序(秒表)

妄灸回答时间:2019-12-05向TA提问package test;import javax.swing.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.*;import java.util.Date;import java.text.SimpleDateFormat...

weixin_34929181的博客 195

java秒表代码_秒表 - java代码库 - 云代码

[java]代码库package Day0822;import java.awt.event.*;import javax.swing.*;import java.awt.*;public class HomeWork implements ActionListener,Runnable{private int x = 0;private int y = 0;private int z = 0;p...

weixin_35475608的博客 196

秒表类的实现

秒表类的实现: 最近为做期末最后的Java大作业做准备,其中有一个实现秒表,看着挺简单的,结果为了设计布局花费了我一个上午的时间才整出来,其中秒表类中的核心代码参考了网上的代码。 代码如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.eve

Learning By Doing 1870

java 秒表暂停_简单的秒表 JAVA 有开始 计时 暂停功能 为什么程序不能运行啊

importjava.awt.*;importjava.util.Date;importjava.text.SimpleDateFormat;importjava.util.*;importjava.awt.event.*;publicclassRunTimeimplementsActionListener{Framef1=newFram...import java.awt.*;import ja...

weixin_33331639的博客 168

秒表计时器——Java基础练手项目(Java课程设计)

技术包含:计时器-swing组件-计时器-mysql数据库-jdbc

qq_52237862的博客 4066

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.set...

weixin_28759987的博客 193

怎么实现秒表的功能??有个按钮,一按开始计时,再按停止

怎么实现秒表的功能??有个按钮,一按开始计时,再按停止。 public   class   StopWatch   extends   javax.swing.JFrame   {             private   TimerThread   timer   =   null;             /**   Creates   new   form   StopWatch  

luckymar的专栏 7097

运用Java编写 秒表程序

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SecondJFrame extends JFrame implements ActionListener,FocusListener{ ...

weixin_33943347的博客 435

Java 线程实现秒表

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 JBu...

Ivy_Ch的博客 1799

java swing中Timer类的学习

最近在完成学校课程的java平时作业,要实现一个计时器,包含开始、暂停以及重置三个功能。由于老师规定要用这个timer类,也就去学习了一下,顺便记录一下。 首先呢去查了一下java手册上的东西,发现timer的构造函数是这么解释的(拿翻译机翻译了) public class Timer extends Object implements...

weixin_30757793的博客 631
上一篇: 【VS工具】Depends.exe - 检查程序与dll依赖关系
PSDCD
博客等级 码龄20年 2粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值