java实现自定义时钟并实现走时功能


Posted in Java/Android onJune 21, 2022

本文实例为大家分享了java自定义时钟并实现走时功能的具体代码,供大家参考,具体内容如下

效果图:

java实现自定义时钟并实现走时功能

很多人想要自己用代码实现一个简单的时钟,显示时间,下面是我用JAVA写的一个时钟测试类

首先,我们先定义一个Time类,里面存放我们需要的setTime方法,可以自定义设定我们想要的时分秒,toUniversal()和toStandard()两个成员方法分别对应两种时间制,24小时和12小时。

public class Time {
    public int hour;
    public int minute;
    public int second;
    public Time(){
        setTime(0,0,0);
    };
    public void setTime(int h,int m,int s){
        this.hour=((h>=0&&h<24)?h:0);
        this.minute=((m>=0&&m<60)?m:0);
        this.second=((s>=0&&s<60)?s:0);
    }
    public String toUniversal(){
        return hour+":"+minute+":"+second;
    }
    public  String toStandard(){
        return((hour==12||hour==0)?12:hour%12)+":"+minute+":"+second
                +(hour<12?"AM":"PM");
    }
}

我们之后再写一个类,在里面实现我们的功能:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Timer;
import java.util.*;
 
public class TimeTest{
    //全员静态变量
    static Integer i1=0,i2=0,i3=0;//时分秒
    static Time tt=new Time();//创建一个对象
    static TextField ta = new TextField(30);//两个文本框存放两个时间
    static TextField ka=new TextField(30);
    static Timer timer=new Timer();//设置一个Timer
    //设置静态函数进行时间转换和timer时间调度器
    public static void fun(){
        TimerTask task=new TimerTask() {
            @Override
            //run走针操作
            public void run() {
                if(i3==60)
                {i3=0;
                    i2++;
                    if(i2==60)
                    {
                        i1++;
                        i2=0;
                        if(i1==24){
                            i1=0;
                        }
                    }
                }
                tt.setTime(i1,i2,i3);
                String s1= tt.toUniversal();
                String s2=tt.toStandard();
                ta.setText(s1);//将获取的两个时间存放到文本域里面
                ka.setText(s2);
                i3++;//秒针自加
            }
        };
        timer.schedule(task,0,1000);//timer调度器从0开始,间隔一秒调度一次
    }
    public static void main(String[] args) {
        Frame frame = new Frame("钟表的测试类");
        TextField text1=new TextField("时");
        TextField text2=new TextField("分");
        TextField text3=new TextField("秒");
        JButton button=new JButton("确认");
        Font f=new Font("仿宋",Font.BOLD+Font.CENTER_BASELINE,30);
        ta.setFont(f);
        ka.setFont(f);
        ta.setBackground(Color.GRAY);
        ka.setBackground(Color.GRAY);
        text1.setFont(f);
        text2.setFont(f);
        text3.setFont(f);
        //button事件响应
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String d0=text1.getText().trim();
 
                String d2=text2.getText().trim();
 
                String d3=text3.getText().trim();
                i1=Integer.valueOf(d0);
                i2=Integer.valueOf(d2);
                i3=Integer.valueOf(d3);
                tt.setTime(i1,i2,i3);
            }
        });
        //调用fun函数
        fun();
        Box aBox=Box.createVerticalBox();
        aBox.add(text1);
        aBox.add(text2);
        aBox.add(text3);
        aBox.add(button);
        Box bBox=Box.createVerticalBox();
        bBox.add(ta);
        bBox.add(ka);
        Box cBox = Box.createHorizontalBox();
        cBox.add(bBox);
        cBox.add(aBox);
        //将cBox加入到frame框架里面
        frame.add(cBox);
        //关闭frame窗口
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        frame.pack();
        frame.setVisible(true);
    }
}

里面用到了awt相关的类,做界面的时候很方便,大家如果看不懂,可以先去熟悉一下awt类,很容易上手,而且走时功能也只需要一个timer调度器便可以实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。


Tags in this post...

Java/Android 相关文章推荐
SpringBoot集成Redis,并自定义对象序列化操作
Jun 22 Java/Android
分析Java中Map的遍历性能问题
Jun 26 Java/Android
Java实现二维数组和稀疏数组之间的转换
Jun 27 Java/Android
解决Swagger2返回map复杂结构不能解析的问题
Jul 02 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
springboot 启动如何排除某些bean的注入
Aug 02 Java/Android
Spring Security中用JWT退出登录时遇到的坑
Oct 16 Java/Android
Java 实现限流器处理Rest接口请求详解流程
Nov 02 Java/Android
springboot入门 之profile设置方式
Apr 04 Java/Android
Java工作中实用的代码优化技巧分享
Apr 21 Java/Android
Java实现HTML转为Word的示例代码
Jun 28 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
Jun 21 #Java/Android
Android基础入门之dataBinding的简单使用教程
Jun 21 #Java/Android
一文搞懂Java中的注解和反射
Jun 21 #Java/Android
Android学习之BottomSheetDialog组件的使用
Jun 21 #Java/Android
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
Jun 21 #Java/Android
Mybatis-plus配置分页插件返回统一结果集
SpringCloud超详细讲解Feign声明式服务调用
Jun 21 #Java/Android
You might like
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
CI框架Session.php源码分析
2014/11/03 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
获取url中用&amp;隔开的参数实例(分享)
2017/05/28 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python k-近邻算法实例分享
2014/06/11 Python
Python的函数的一些高阶特性
2015/04/27 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
pytorch简介
2020/11/11 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
品牌宣传方案
2014/03/21 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers