欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能

 更新時(shí)間:2022年06月21日 09:53:28   作者:Leslie小碼農(nóng)  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能的具體代碼,供大家參考,具體內(nèi)容如下

效果圖:

很多人想要自己用代碼實(shí)現(xiàn)一個(gè)簡單的時(shí)鐘,顯示時(shí)間,下面是我用JAVA寫的一個(gè)時(shí)鐘測(cè)試類

首先,我們先定義一個(gè)Time類,里面存放我們需要的setTime方法,可以自定義設(shè)定我們想要的時(shí)分秒,toUniversal()和toStandard()兩個(gè)成員方法分別對(duì)應(yīng)兩種時(shí)間制,24小時(shí)和12小時(shí)。

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");
? ? }
}

我們之后再寫一個(gè)類,在里面實(shí)現(xiàn)我們的功能:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Timer;
import java.util.*;
?
public class TimeTest{
? ? //全員靜態(tài)變量
? ? static Integer i1=0,i2=0,i3=0;//時(shí)分秒
? ? static Time tt=new Time();//創(chuàng)建一個(gè)對(duì)象
? ? static TextField ta = new TextField(30);//兩個(gè)文本框存放兩個(gè)時(shí)間
? ? static TextField ka=new TextField(30);
? ? static Timer timer=new Timer();//設(shè)置一個(gè)Timer
? ? //設(shè)置靜態(tài)函數(shù)進(jìn)行時(shí)間轉(zhuǎn)換和timer時(shí)間調(diào)度器
? ? 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);//將獲取的兩個(gè)時(shí)間存放到文本域里面
? ? ? ? ? ? ? ? ka.setText(s2);
? ? ? ? ? ? ? ? i3++;//秒針自加
? ? ? ? ? ? }
? ? ? ? };
? ? ? ? timer.schedule(task,0,1000);//timer調(diào)度器從0開始,間隔一秒調(diào)度一次
? ? }
? ? public static void main(String[] args) {
? ? ? ? Frame frame = new Frame("鐘表的測(cè)試類");
? ? ? ? TextField text1=new TextField("時(shí)");
? ? ? ? TextField text2=new TextField("分");
? ? ? ? TextField text3=new TextField("秒");
? ? ? ? JButton button=new JButton("確認(rèn)");
? ? ? ? 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事件響應(yīng)
? ? ? ? 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);
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? //調(diào)用fun函數(shù)
? ? ? ? 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);
? ? ? ? //關(guān)閉frame窗口
? ? ? ? frame.addWindowListener(new WindowAdapter() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void windowClosing(WindowEvent e) {
? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? frame.pack();
? ? ? ? frame.setVisible(true);
? ? }
}

里面用到了awt相關(guān)的類,做界面的時(shí)候很方便,大家如果看不懂,可以先去熟悉一下awt類,很容易上手,而且走時(shí)功能也只需要一個(gè)timer調(diào)度器便可以實(shí)現(xiàn)。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot自定義注解之實(shí)現(xiàn)AOP切面日志詳解

    SpringBoot自定義注解之實(shí)現(xiàn)AOP切面日志詳解

    這篇文章主要為大家詳細(xì)介紹了SpringBoot自定義注解之實(shí)現(xiàn)AOP切面統(tǒng)一打印出入?yún)⑷罩?,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Java導(dǎo)出Excel通用工具類實(shí)例代碼

    Java導(dǎo)出Excel通用工具類實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出Excel通用工具類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出操作詳解

    Java實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出操作詳解

    在平常的辦公工作中,導(dǎo)入導(dǎo)出excel數(shù)據(jù)是常見的需求,今天就來看一下通過Java如何來實(shí)現(xiàn)這個(gè)功能,感興趣的朋友可以了解下
    2022-02-02
  • 一篇文章帶你了解JavaSE的數(shù)據(jù)類型

    一篇文章帶你了解JavaSE的數(shù)據(jù)類型

    這篇文章主要給大家介紹了關(guān)于JavaSE的數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • spring boot 注冊(cè)攔截器過程詳解

    spring boot 注冊(cè)攔截器過程詳解

    這篇文章主要介紹了spring boot中注冊(cè)攔截器過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java多線程編程中易混淆的3個(gè)關(guān)鍵字總結(jié)

    Java多線程編程中易混淆的3個(gè)關(guān)鍵字總結(jié)

    這篇文章主要介紹了Java多線程編程中易混淆的3個(gè)關(guān)鍵字總結(jié),本文總結(jié)了、volatile、ThreadLocal、synchronized等3個(gè)關(guān)鍵字,對(duì)這幾個(gè)容易混淆概念的關(guān)鍵字分別做了講解,需要的朋友可以參考下
    2015-03-03
  • 淺談mybatis-plus批量保存異常及效率優(yōu)化

    淺談mybatis-plus批量保存異常及效率優(yōu)化

    本文主要介紹了mybatis-plus批量保存異常及效率優(yōu)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Java 8 開發(fā)的 Mybatis 注解代碼生成工具

    Java 8 開發(fā)的 Mybatis 注解代碼生成工具

    MybatisAnnotationTools 是基于 Java8 開發(fā)的一款可以用于自動(dòng)化生成 MyBatis 注解類的工具,支持配置數(shù)據(jù)源、類路徑,表名去前綴、指定類名前后綴等功能.這篇文章主要介紹了Java 8 開發(fā)的 Mybatis 注解代碼生成工具 ,需要的朋友可以參考下
    2019-07-07
  • SpringBoot集成redis實(shí)現(xiàn)共享存儲(chǔ)session

    SpringBoot集成redis實(shí)現(xiàn)共享存儲(chǔ)session

    這篇文章主要介紹了SpringBoot集成redis實(shí)現(xiàn)共享存儲(chǔ)session的流程步驟,文中通過代碼示例介紹的非常詳細(xì),并總結(jié)了一些常見的錯(cuò)誤及解決方法,需要的朋友可以參考下
    2024-03-03
  • JVM加載class文件的原理機(jī)制實(shí)例詳解

    JVM加載class文件的原理機(jī)制實(shí)例詳解

    Java是一種具有動(dòng)態(tài)性的解釋型語言,類(class)只有被加載到JVM后才能運(yùn)行,接下來通過本文給大家介紹JVM加載class文件的原理機(jī)制詳解,感興趣的朋友一起看看吧
    2022-04-04

最新評(píng)論