計(jì)時(shí)器可以使用timer類也可以使用線程類來(lái)操作,下面是Thread做的簡(jiǎn)單的計(jì)時(shí)器
創(chuàng)新互聯(lián)建站是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營(yíng)產(chǎn)品:成都響應(yīng)式網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡(luò)互動(dòng)的體驗(yàn),以及在手機(jī)等移動(dòng)端的優(yōu)質(zhì)呈現(xiàn)。網(wǎng)站建設(shè)、做網(wǎng)站、移動(dòng)互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營(yíng)、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。
public?class?Calculagraph?extends?Thread?{
public?static?void?main(String[]?args)?{
new?Calculagraph().start();
}
private?long?now?=?0l;
private?long?start?=?System.currentTimeMillis();//?程序啟動(dòng)時(shí)間的毫秒值
private?long?time;
public?void?run()?{
while?(true)?{
now?=?System.currentTimeMillis();//?獲取一秒之后的毫秒值
time?=?now?-?start;//?兩個(gè)時(shí)間相減的到毫秒差
System.out.format("%02d:%02d:%02d\n",
time?/?(1000?*?60?*?60)?%?60/*?時(shí)?*/,?
time?/?(1000?*?60)%?60/*?分?*/,?
time?/?1000?%?60/*?秒?*/);//?格式化字符串輸出
try?{
Thread.sleep(1000);
}?catch?(InterruptedException?e)?{
e.printStackTrace();
}
}
}
}
怎么還沒(méi)人回答,看不過(guò)去了,用不用多線程根據(jù)你的程序需要,
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);//在1秒后執(zhí)行此任務(wù),每次間隔2秒,如果傳遞一個(gè)Data參數(shù),就可以在某個(gè)固定的時(shí)間執(zhí)行這個(gè)任務(wù).
while(true){//這個(gè)是用來(lái)停止此任務(wù)的,否則就一直循環(huán)執(zhí)行此任務(wù)了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用這個(gè)方法退出任務(wù)
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
//你要進(jìn)行的操作
}
}
}
大概就是這樣了,在根據(jù)你的業(yè)務(wù)需要查一下資料,就可以搞定了!
簡(jiǎn)單代碼如下:
import?java.awt.Button;
import?java.awt.FlowLayout;
import?java.awt.Label;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?javax.swing.JFrame;
import?javax.swing.Timer;
@SuppressWarnings("serial")
public?class?Timers?extends?JFrame?{
final?Label?lab?=?new?Label();
Date?now?=?new?Date();
@SuppressWarnings("deprecation")
public?Timers()?{
now.setHours(0);
now.setMinutes(0);
now.setSeconds(0);
setBounds(550,?270,?200,?150);
final?Timer?timer?=?new?Timer(1000,?new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
Date?now2?=?new?Date(now.getTime()?+?1000);
now?=?now2;
SimpleDateFormat?formatter?=?new?SimpleDateFormat("HH:mm:ss");
lab.setText(formatter.format(now));
}
});
Button?b1?=?new?Button("開始");
Button?b2?=?new?Button("停止");
b2.setBounds(40,?40,?40,?40);
b1.setBounds(30,?30,?30,?30);
b1.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?e)?{
Button?b?=?(Button)?e.getSource();
b.setLabel("開始");
timer.start();
}
});
b2.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?e)?{
Button?b?=?(Button)?e.getSource();
b.setLabel("停止");
timer.stop();
}
});
this.setLayout(new?FlowLayout());
this.add(b2);
this.add(b1);
this.add(lab);
this.setSize(300,?200);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public?static?void?main(String[]?args)?{
Timers?t?=?new?Timers();
t.lab.setText("00:00:00");
}
}
不知是否幫到你,如滿意請(qǐng)采納!
網(wǎng)站名稱:java代碼實(shí)現(xiàn)簡(jiǎn)單計(jì)時(shí) 分析java代碼耗時(shí)工具
文章鏈接:http://muchs.cn/article36/doochsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、企業(yè)建站、營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)