返回顶部
首页 > 资讯 > 后端开发 > Python >java实现秒表功能
  • 538
分享到

java实现秒表功能

2024-04-02 19:04:59 538人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

利用javax.swing.Timer类设计并实现一个模拟秒表功能的应用程序。程序中显示不断递增的时间,同时包含允许用户启动和终止计时功能的代码,以及一个可将时间复位为0的按钮。 i

利用javax.swing.Timer类设计并实现一个模拟秒表功能的应用程序。程序中显示不断递增的时间,同时包含允许用户启动和终止计时功能的代码,以及一个可将时间复位为0的按钮。

import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.BorderLayout; 
import java.util.TimerTask;  
import java.text.DecimalFORMat;
import java.awt.Color; 
import java.awt.GridLayout; 
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.Font;

public class stopWatch extends JPanel{  
    private JLabel currentTimeLabel; //显示标签 
    private JButton startJButton;    //开始按钮
    private JButton stopJButton;     //停止按钮
    private JButton resetJButton;    //复位按钮
    private long countMis,countSec,countMin,countHour;//计时变量
    private DecimalFormat textFormat=new DecimalFormat("00");//格式化输出
    Timer timer=new Timer(10,new TestActionListener());//计时单位10ms

    public stopWatch() {  
        JPanel panel=new JPanel(new GridLayout(1,3,5,10)); //网格布局嵌入按钮
        JPanel panel2=new JPanel(); 
        currentTimeLabel=new JLabel(" "); 
        TestActionListener actionListener=new TestActionListener();
        currentTimeLabel.setForeground(Color.blue);
        currentTimeLabel.setFont(new Font("SAN_SERIF",Font.BOLD,50));  

        startJButton=new JButton("Start"); 
        stopJButton=new JButton("Stop"); 
        resetJButton=new JButton("Reset"); 
        //设置JButton相关属性
        startJButton.setBorder(BorderFactory.createRaisedBevelBorder());
        stopJButton.setBorder(BorderFactory.createRaisedBevelBorder());
        resetJButton.setBorder(BorderFactory.createRaisedBevelBorder());

        startJButton.setFont(new java.awt.Font("Times New Roman", 1, 30));
        stopJButton.setFont(new java.awt.Font("Times New Roman", 1, 30));
        resetJButton.setFont(new java.awt.Font("Times New Roman", 1, 30));

        stopJButton.setBackground(Color.cyan); 
        startJButton.setBackground(Color.red);
        resetJButton.setBackground(Color.orange);

        stopJButton.addActionListener(actionListener);  
        startJButton.addActionListener(actionListener);  
        resetJButton.addActionListener(actionListener);  

        this.setLayout(new BorderLayout());  

        panel2.setBackground(Color.gray);
        panel2.setBorder(BorderFactory.createLoweredBevelBorder());  
        panel2.add(currentTimeLabel); 
        panel.add(stopJButton);  
        panel.add(startJButton);  
        panel.add(resetJButton); 

        this.add(panel2,BorderLayout.NORTH); 
        this.add(panel,BorderLayout.CENTER);

    }  
    //处理相关事件
    class TestActionListener implements ActionListener{   
        public void actionPerformed(ActionEvent e){ 
            if(e.getSource()==startJButton){
                timer.start();
                startJButton.setEnabled(false);
            }  

            else if(e.getSource()==stopJButton){
                timer.stop();
                startJButton.setEnabled(true);
            }

            else if(e.getSource()==resetJButton){ 
                countHour=0;
                countMin=0;
                countSec=0;
                countMis=0;
            }

            else{//满位后复位
                countMis++;
                if(countMis>=99){
                    countSec++;
                    countMis=0;
                    if(countSec>=59){
                        countMin++;
                        countSec=0;
                        if(countMin>=59){
                            countHour++;
                            countMin=0;
                        }
                    }
                }

            }

        }
    }


    public void paintComponent(Graphics g){
        super.paintComponent(g); 
        currentTimeLabel.setText(textFormat.format(countHour)+":"+textFormat.format(countMin)+
        ":"+textFormat.format(countSec)+":"+textFormat.format(countMis));
        repaint();  
    }


    public static void main(String args[]){  
        JFrame frame=new JFrame("秒表演示");  
        stopWatch stopwatch=new stopWatch();  
        frame.setSize(480,280);
        frame.getContentPane().add(stopwatch);  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        frame.setVisible(true);  
    }  
}  

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: java实现秒表功能

本文链接: https://lsjlt.com/news/167314.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java实现秒表功能
    利用javax.swing.Timer类设计并实现一个模拟秒表功能的应用程序。程序中显示不断递增的时间,同时包含允许用户启动和终止计时功能的代码,以及一个可将时间复位为0的按钮。 i...
    99+
    2024-04-02
  • C++实现秒表功能
    本文实例为大家分享了C++实现秒表功能的具体代码,供大家参考,具体内容如下 抽象出CLOCK类来制作一个电子秒表,能够自动跳转 代码中有些陌生的库函数,顺便介绍一下: 1.syste...
    99+
    2024-04-02
  • Android实现秒表功能
    本文实例为大家分享了Android实现秒表功能的具体代码,供大家参考,具体内容如下 设计完成一个秒表,具备启停功能,正确使用工作线程完成界面刷新 activity_main.xml...
    99+
    2024-04-02
  • Android实现APP秒表功能
    本文实例为大家分享了Android实现APP秒表功能的具体代码,供大家参考,具体内容如下 这几天一直在看安卓,也正好赶上老师布置的作业,所以就做了一个秒表。自己参考了一下别人的图标,...
    99+
    2024-04-02
  • Android实现简易秒表功能
    本文实例为大家分享了Android实现秒表功能的具体代码,供大家参考,具体内容如下 今天为了给师弟们讲安卓,花了10分钟写了一个简易的秒表app,现贴出代码,供各位刚入门以及还未入...
    99+
    2024-04-02
  • Qt timerEvent实现简单秒表功能
    本文实例为大家分享了Qt timerEvent实现简单秒表的具体代码,供大家参考,具体内容如下 #ifndef WIDGET_H #define WIDGET_H //头文件 #in...
    99+
    2022-11-13
    Qt timerEvent 秒表
  • Android怎么实现APP秒表功能
    要实现一个APP秒表功能,可以按照以下步骤进行操作:1. 创建一个新的Android项目。在Android Studio中,选择“F...
    99+
    2023-08-17
    Android
  • js如何实现秒表计时器功能
    这篇文章主要介绍了js如何实现秒表计时器功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图: 下面贴代码:<!DOCT...
    99+
    2024-04-02
  • Qt编写秒表功能
    本文实例为大家分享了Qt编写秒表的具体实现代码,供大家参考,具体内容如下 文件widget.h #ifndef WIDGET_H #define WIDGET_H #include&...
    99+
    2022-11-13
    Qt 秒表
  • JavaScript实现限时秒杀功能
    本文实例为大家分享了JavaScript实现限时秒杀功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <he...
    99+
    2024-04-02
  • redis怎么实现秒杀功能
    在Redis中实现秒杀功能的一种常见方法是使用Redis的原子操作和事务来控制并发访问和更新库存数量。 以下是一个简单的秒杀功能的实...
    99+
    2024-04-02
  • 利用QT设计秒表功能
    本文实例为大家分享了QT设计秒表功能的具体代码,供大家参考,具体内容如下 一、窗口界面的设置 可以使用属性栏digitCount来设计此时0的初始位置 二、代码的编写 1、确定时间...
    99+
    2022-11-13
    QT 秒表
  • java秒表计时器怎么实现
    在Java中,可以使用`System.currentTimeMillis()`方法来实现秒表计时器。以下是一个简单的示例代码:```...
    99+
    2023-08-29
    java
  • php商城秒杀功能怎么实现
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php+redis实现秒杀功能,可缓解瞬时并发对mysql的压力场景:在某个时间点对商品goods_id=2的商品进行抢购,商品库存为10建立商品goods_id=2的...
    99+
    2024-04-02
  • Unity实现毫秒延时回调功能
    简介 在项目的框架中看到了这个延迟回调的函数,一直以为是通过Unity协程实现的,最后看了源码后才发现是自己实现的。也是,如果用了协程成千上百个回调不得卡死。自己实现了一下核心的脚本...
    99+
    2024-04-02
  • 如何使用Redis实现秒杀功能
    这篇文章主要介绍如何使用Redis实现秒杀功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 怎样预防数据库超售现象设置数据库事务的隔离级别为Serializable(不可用)Serializable就是让数据库...
    99+
    2023-06-14
  • Java实现哈希表的基本功能
    目录一、哈希表头插法放入元素二、哈希表尾插法放入元素三、哈希表头插、尾插扩容四、找到key对应的value五、运行结果六、哈希表的泛型实现七、为什么JDK1.7及之前使用头插法而JD...
    99+
    2024-04-02
  • Java单表实现评论回复功能
    Java单表实现评论回复功能 1.简介2.功能实现图3.数据库设计4.实体类5.实现思路6.功能实现6.1 Sql入手6.2 业务实现 7.前端实现8.最终成果 1.简介 最近在写...
    99+
    2023-08-31
    java
  • Java如何实现双向链表功能
    双向链表实现 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继...
    99+
    2024-04-02
  • JavaScript定时器实现限时秒杀功能
    本文实例为大家分享了JavaScript实现限时秒杀功能的具体代码,供大家参考,具体内容如下 文件index.html 代码: <!DOCTYPE html> <...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作