您好,登錄后才能下訂單哦!
這期內(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è)資訊頻道。
免責(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)容。