溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中怎么實(shí)現(xiàn)一個(gè)數(shù)字時(shí)鐘

發(fā)布時(shí)間:2021-07-22 16:49:09 來(lái)源:億速云 閱讀:199 作者:Leah 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Java中怎么實(shí)現(xiàn)一個(gè)數(shù)字時(shí)鐘,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

代碼如下:

package me.socketthread;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JFrame;
//數(shù)字時(shí)鐘
public class ClockDemo extends JFrame implements Runnable{
	Thread clock;
	public ClockDemo(){
		super("數(shù)字時(shí)鐘");
		//調(diào)用父類構(gòu)造函數(shù)
		setFont(new Font("Times New Roman",Font.BOLD,60));
		//設(shè)置時(shí)鐘的顯示字體
		start();
		//開始進(jìn)程
		setSize(280,100);
		//設(shè)置窗口尺寸
		setVisible(true);
		//窗口可視
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//關(guān)閉窗口時(shí)退出程序
	}
	public void start(){
		//開始進(jìn)程
		if (clock==null){
			//如果進(jìn)程為空值
			clock=new Thread(this);
			//實(shí)例化進(jìn)程
			clock.start();
			//開始進(jìn)程
		}
	}
	public void run(){
		//運(yùn)行進(jìn)程
		while (clock!=null){
			repaint();
			//調(diào)用paint方法重繪界面
			try{
				Thread.sleep(1000);
				//線程暫停一秒(1000毫秒)
			}
			catch (InterruptedException ex){
				ex.printStackTrace();
				//輸出出錯(cuò)信息
			}
		}
	}
	public void stop(){
		//停止進(jìn)程
		clock=null;
	}
	public void paint(Graphics g){
		//重載組件的paint方法
		Graphics2D g2=(Graphics2D)g;
		//得到Graphics2D對(duì)象
		Calendar now=new GregorianCalendar();
		//實(shí)例化日歷對(duì)象
		String timeInfo="";
		//輸出信息
		int hour=now.get(Calendar.HOUR_OF_DAY);
		//得到小時(shí)數(shù)
		int minute=now.get(Calendar.MINUTE);
		//得到分?jǐn)?shù)
		int second=now.get(Calendar.SECOND);
		//得到秒數(shù)
		if (hour<=9)
		timeInfo+="0"+hour+":";
		//格式化輸出 else
		timeInfo+=hour+":";
		if (minute<=9)
		timeInfo+="0"+minute+":"; else
		timeInfo+=minute+":";
		if (second<=9)
		timeInfo+="0"+second; else
		timeInfo+=second;
		g.setColor(Color.white);
		//設(shè)置當(dāng)前顏色為白色
		Dimension dim=getSize();
		//得到窗口尺寸
		g.fillRect(0,0,dim.width,dim.height);
		//填充背景色為白色
		g.setColor(Color.orange);
		//設(shè)置當(dāng)前顏色為橙色
		g.drawString(timeInfo,20,80);
		//顯示時(shí)間字符串
	}
	public static void main(String[] args){
		new ClockDemo();
	}
}

上述就是小編為大家分享的Java中怎么實(shí)現(xiàn)一個(gè)數(shù)字時(shí)鐘了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI