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調度器便可以實現。
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。