代碼太長,怕吞了。。。
察哈爾右翼后ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
public class TestTimer extends JFrame implements ActionListener, Runnable {
private static TestTimer obj; // 自己的一個靜態(tài)實例,在這里沒什么特別的意思
private JButton btnStart; // 開始按鈕
private JButton btnPause; // 暫停按鈕
private JButton btnResume; // 恢復按鈕
private JButton btnStop; // 停止按鈕
private JLabel lblTime; // 顯示時間的Label(中文是標簽?)
private static Thread th; // 一個用來控制時間的線程
private long count; // 計數
public TestTimer(){
super("秒表"); // TestTimer繼承JFrame,這里調用父類的構造方法,傳入的參數表示窗口的標題
btnStart = new JButton("開始"); // 初始化按鈕,傳入的參數表示按鈕上顯示的文字
btnPause = new JButton("暫停"); // 同上
btnResume = new JButton("繼續(xù)"); // 同上
btnStop = new JButton("停止"); // 同上
lblTime = new JLabel("00:00:00.000"); // 初始化Label,傳入的參數表示Label上顯示的文字
this.setLayout(new FlowLayout()); // 設置layout風格為FlowLayout(就是設置控件的擺放方式)
this.add(btnStart); // 將控件加入到窗口中
this.add(btnPause); // 同上
this.add(btnResume); // 同上
this.add(btnStop); // 同上
this.add(lblTime); // 同上
btnStart.addActionListener(this); // 為按鈕添加監(jiān)聽器(為什么是this,因為TestTimer類實現了ActionListener接口,所以可以這樣用)
btnPause.addActionListener(this); // 為按鈕添加監(jiān)聽器(但我不建議這樣,這樣的話類的職責不明確)
btnResume.addActionListener(this); // 為按鈕添加監(jiān)聽器(當然,如果只是實現需求,怕麻煩可以這么做)
btnStop.addActionListener(this); // 為按鈕添加監(jiān)聽器
this.setSize(150, 200); // 設置窗口大小
this.setVisible(true); // 顯示窗口
}
public static void main(String[] args) {
obj = new TestTimer(); // 主函數入口,初始化實例(其實就是啟動窗口)
}
public void actionPerformed(ActionEvent e) {// 這里是實現ActionListener接口的地方
JButton btn = (JButton)e.getSource(); // 獲得是哪個按鈕觸發(fā)了事件
if(btn.getText().equals("開始")){ // 如果是開始按鈕
th = new Thread(obj); // 初始化一個線程(傳入obj是因為,TestTimer類實現了Runnable接口,同樣我不建議這樣做)
count = 0; // count計數器清零
th.start(); // 線程啟動
}
else if(btn.getText().equals("暫停")){ // 如果是暫停按鈕
th.suspend(); // 線程掛起(這個方法已經被新版本的JDK遺棄,你可以用,但不推薦用)
}
else if(btn.getText().equals("繼續(xù)")){ // 如果是繼續(xù)按鈕
th.resume(); // 線程恢復(同上)
}
else if(btn.getText().equals("停止")){ // 如果是停止按鈕
th.stop(); // 線程停止(同上)
}
}
@Override
public void run() { // 實現Runnable接口的地方
while(true){ // 無限循環(huán)(線程一直運行著記錄時間)
int ms, seconds, minutes, hours; // 下面一整段都是根據count這個計數器來計算時間
// 你看到最后有一個Thread.sleep(1)表示該線程每毫秒工作一次,起到計數的作用)
String msg = ""; // msg表示Label上顯示的時間
hours = (int)(count / 3600000);
minutes = (int)((count - hours * 3600000) / 60000);
seconds = (int)((count - hours * 3600000 - minutes * 60000) / 1000);
ms = (int)(count % 1000);
if(hours 10){ // 下面這一串是用來做msg的格式
msg += "0" + hours + ":";
}
else{
msg += hours + ":";
}
if(minutes 10){
msg += "0" + minutes + ":";
}
else{
msg += minutes + ":";
}
if(seconds 10){
msg += "0" + seconds + ":";
}
else{
msg += seconds + ":";
}
if(ms 10){
msg += "00" + ms;
}
else if(ms 100){
msg += "0" + ms;
}
else{
msg += ms;
}
lblTime.setText(msg); // 顯示時間到Label上
count++; // 計數器遞增
try {
Thread.sleep(1); // 線程掛起1毫秒(也即,線程每毫秒執(zhí)行一次循環(huán))
}
catch (InterruptedException e) { // 異常處理(不必管,必須這樣寫)
e.printStackTrace();
}
}
}
}
學會在idea(eclipse)中閱讀、調試源碼,是java程序員必不可少的一項技能。
在idea中配完環(huán)境后,默認其實也是能夠對jdk的源碼進行debug調試的。但是無法在源碼中添加自己的注釋,無法添加自己的理解。如果干瞪眼看的話,可能過段時間,就忘記了。下面就介紹下,如何在jdk源碼中為所欲為,像在我們自己的代碼中一樣寫注釋、調代碼:
打開idea,選擇Project-File-Project Structure-SDKs-Sourcepath,初始狀態(tài)如下圖 :
打開本地jdk安裝路徑,本處為E:\java\jdk8,將此路徑下的src.zip壓縮包解壓到自定義的指定文件夾(可以在電腦磁盤任意位置),本處解壓到同目錄的jdk_source文件夾下,如下圖:
繼續(xù)在步驟1中的設置頁面中操作,將E:\java\jdk8\src.zip通過右側的減號將其移除;并通過右側的加號,將解壓文件夾E:\java\jdk8\jdk_source導入進來;點擊apply,再點擊OK。導入結果見下圖:
這時,再重新打開jdk的源碼類,我們就可以在源java文件中,添加自己的注釋了。
一定注意:添加注釋時,一定不要新加一行寫注釋。最好在一行代碼的后面,使用//進行注釋。否則行號和真正的jre中編譯后的代碼行號對應不上,如果對源碼debug時,會出現代碼運行和行號不匹配的情況
需要先下載html格式的jdk中文文檔,目前網上只能找到1.6版本的,準備好資源后再進行下一步設置,我使用的是IntelliJ IDEA,設置方法為:
File-Project Structure-SDKs
按圖片描述的步驟,配置下載的api文檔的路徑即可。
注:配置的路徑為文檔中index.html的路徑,否則不會生效,配置完成后在jdk中自帶的類上按Ctrl+Q就能看到中文的注釋。
名稱欄目:java代碼注釋有中文版 java注釋中文亂碼
文章轉載:http://www.muchs.cn/article14/dogijde.html
成都網站建設公司_創(chuàng)新互聯,為您提供搜索引擎優(yōu)化、標簽優(yōu)化、網站導航、手機網站建設、軟件開發(fā)、網頁設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯