简单的Java秒表计时器(线程)
秒表的个个位数的计算:
package Seconds;public class Watch_time extends Thread{int ms,ms_1,ms_2;int s,s_1;int m,m_1;Watch w;public void set(Watch w) {this.w=w;}public void setNum() {ms=ms_1= s=s_1=m=m_1=0;}public void run() {while(true) {try {Thread.sleep(9);ms_1++;if(ms_1==10) {ms_1=0;ms++;}if(ms==10) {ms=0;s_1++;}if(s_1==10) {s_1=0;s++;}if(s==6) {s=0;m_1++;}if(m_1==10) {m_1=0;m++;}w.textArea.setText(m+""+m_1+":"+s+""+s_1+"."+ms+""+ms_1);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
Frame类:
可视化界面
package Seconds;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextArea;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import java.awt.SystemColor;
import java.awt.Font;
import javax.swing.UIManager;
import javax.swing.LayoutStyle.ComponentPlacement;
import org.eclipse.wb.swing.FocusTraversalOnArray;
import java.awt.Component;
import java.awt.Color;public class Watch extends JFrame {/*** */private static final long serialVersionUID = 1L;private JPanel contentPane;JTextArea textArea = new JTextArea();int a=1;int i=0;public Watch(Watch_time w) {setTitle("\u79D2\u8868\u8BA1\u65F6\u5668 --\u00A9Dong");textArea.setText("00:00.00");setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 300);contentPane = new JPanel();JScrollPane scrollPane = new JScrollPane();scrollPane.setEnabled(false);contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);JTextArea textArea_1 = new JTextArea();textArea_1.setFont(new Font("Monospaced", Font.BOLD | Font.ITALIC, 13));textArea_1.setEditable(false);textArea_1.setBackground(UIManager.getColor("Button.background"));JTextArea textArea_2 = new JTextArea();textArea_2.setFont(UIManager.getFont("Viewport.font"));textArea_2.setEditable(false);textArea_2.setText(" \u51C6\u5907\u8BA1\u65F6");textArea_2.setBackground(SystemColor.control);JButton btnNewButton=new CircleButton("开始",Color.GREEN);btnNewButton.setBackground(Color.CYAN);JButton btnNewButton_1=new CircleButton("\u8BB0\u5F55",Color.GREEN);JButton btnNewButton_2=new CircleButton("\u91CD\u7F6E",Color.GREEN);btnNewButton.addActionListener(new ActionListener() {@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e) {if(btnNewButton.getText().equals("开始")){ if(a==1) {w.start();textArea_2.setText(" 正在计时");btnNewButton_1.setEnabled(true);btnNewButton_2.setEnabled(false);btnNewButton.setText("暂停");a=2;}else {textArea_2.setText(" 正在计时");btnNewButton_1.setEnabled(true);btnNewButton_2.setEnabled(false);w.resume(); btnNewButton.setText("暂停");}}else {textArea_2.setText(" 暂 "+" 停");btnNewButton_1.setEnabled(false);btnNewButton_2.setEnabled(true);w.suspend(); btnNewButton.setText("开始");}}});btnNewButton_1.setEnabled(false);btnNewButton_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {textArea_1.append("第"+(++i)+"次计数:"+textArea.getText()+'\n'); }});btnNewButton_2.setEnabled(false);btnNewButton_2.addActionListener(new ActionListener() {@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e) {textArea_1.setText("");i=0;btnNewButton_2.setEnabled(false);textArea.setText("00:00.00");textArea_2.setText(" 准备计时");w.suspend();w.setNum();}}); GroupLayout gl_contentPane = new GroupLayout(contentPane);gl_contentPane.setHorizontalGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING).addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 425, Short.MAX_VALUE).addGroup(gl_contentPane.createSequentialGroup().addGap(48).addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 77, GroupLayout.PREFERRED_SIZE).addGap(38).addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(gl_contentPane.createSequentialGroup().addComponent(btnNewButton_2, GroupLayout.PREFERRED_SIZE, 72, GroupLayout.PREFERRED_SIZE).addGap(44).addComponent(btnNewButton_1, GroupLayout.PREFERRED_SIZE, 72, GroupLayout.PREFERRED_SIZE).addContainerGap()).addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup().addComponent(textArea, GroupLayout.PREFERRED_SIZE, 128, GroupLayout.PREFERRED_SIZE).addContainerGap(134, Short.MAX_VALUE)).addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup().addComponent(textArea_2, GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE).addGap(178)))));gl_contentPane.setVerticalGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING).addGroup(gl_contentPane.createSequentialGroup().addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 64, Short.MAX_VALUE).addGap(33).addComponent(textArea, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED).addComponent(textArea_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addGap(15).addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(btnNewButton_2, GroupLayout.PREFERRED_SIZE, 68, GroupLayout.PREFERRED_SIZE).addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 66, GroupLayout.PREFERRED_SIZE).addComponent(btnNewButton_1, GroupLayout.PREFERRED_SIZE, 66, GroupLayout.PREFERRED_SIZE)).addGap(44)));textArea.setEditable(false);textArea.setFont(new Font("Monospaced", Font.BOLD | Font.ITALIC, 16));textArea.setBackground(SystemColor.control);scrollPane.setViewportView(textArea_1);contentPane.setLayout(gl_contentPane);contentPane.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{scrollPane, btnNewButton, textArea_1, btnNewButton_1, textArea, btnNewButton_2, textArea_2}));}
}
简单的Java秒表计时器(线程)相关推荐
- 简单的Java秒表计时器(线程),Java计时器使功能每分钟运行
I have an application where I need to access a webservice every minute. I was going to use a thread ...
- 简单的秒表计时器java报告_简单的Java秒表计时器(线程)
秒表的个个位数的计算: package Seconds; public class Watch_time extends Thread{ int ms,ms_1,ms_2; int s,s_1; in ...
- java最少有多少线程_【并发编程】一个最简单的Java程序有多少线程?
一个最简单的Java程序有多少线程? 通过下面程序可以计算出当前程序的线程总数. import java.lang.management.ManagementFactory; import java. ...
- java秒表计时器显示_Java实现的计时器【秒表】功能示例
摘要:这篇Java开发技术栏目下的"Java实现的计时器[秒表]功能示例",介绍的技术点是"Java.计时器.计时.功能.实现.示例",希望对大家开发技术学习和 ...
- java秒表计时器_Java实现的计时器【秒表】功能示例
本文实例讲述了Java实现的计时器[秒表]功能.分享给大家供大家参考,具体如下: 应用名称:Java计时器 用到的知识:Java GUI编程 开发环境:win8+eclipse+jdk1.8 功能说明 ...
- java秒表计时器_Java-计时器/秒表GUI
问题是您的应用程序中只有一个线程.您应该至少有两个:一个用于更新文本的UI,另一个用于计算时间. 如果只有一个线程,它将挂在while(true)循环中,而Swing永远无法更新视图. 我使用两个线程 ...
- 一次简单的JAVA进程到线程资源使用率异常分析
1 前言导读 开发&测试人员在应用运行&测试过程中会遇到以下常见问题 在测试&调试过程中,应用会出现卡顿或接口响应失败问题,不知如何入手? 开发&测试人员在排查响应失败 ...
- 一个简单的Java计时器项目,附源码
学Java开发的小伙伴都会想着做一些项目来检验自己的学习成果,今天小千就来分享一个简单的Java计时器项目,源码也放在文中,大家可以参考一下. Java计时器项目 开发环境:win8+eclipse+ ...
- 用js做一个简单的秒表计时器
用js做一个简单的秒表计时器 具体代码如下 <!DOCTYPE html> <html lang="en"><head><meta cha ...
最新文章
- return *this和return this的区别
- Prim算法(最小生成树;例题:nyoj38)
- python怎么导入视频-Python模块导入详解
- CentOS系统Yum源配置
- iptables实现访问A的请求重定向到B
- 从Servlet 到ApplicationContext
- php 取url根域名,php中取得URL的根域名的代码
- 获取父线程 java_java子线程中获取父线程的threadLocal中的值
- photoshop问题
- zs040蓝牙模块使用方法_如何使用车载蓝牙播放手机音乐的方法
- 电商设计师套用PSD分层模板,玩转详情页的!
- java连接mysql抛异常_Java 连接MySQL数据库 插入中文 抛出异常
- keras安装不成功超时
- EFR32 晶振电容设置
- 浅谈几个倾斜摄影三维模型的修补软件
- 【图像压缩】DCT图像无损压缩【含GUI Matlab源码 726期】
- win7+sp1安装vs2013
- NOIP2012P4 文化之旅 题解
- CentOS 7.5 搭建以太坊私联(联盟链)及区块链浏览器
- 薪水支付系统领域驱动设计实践
热门文章
- Linux - Ubuntu 18.04 网络配置(YAML)
- ”AMD锐龙3000上市 Intel酷睿i5-9600K处理器大降价
- 关于Eclipse中突然冒出一个configure build path的提示
- 暗月ACK靶场 WP
- 打工人是什么梗?为什么打工人都用企业邮箱?打工是不可能打工的!
- QT打开外部程序并嵌入Qt界面
- poj pku 1673 EXOCENTER OF A TRIANGLE 三角形 垂心
- python求和函数sum_python求和函数sum()详解
- 函数式编程语言收藏列表
- FLUENT-UDF日记-10-DEFINE_RW_FILE