1. 程式人生 > >用java製作的簡易倒計時器(主要可用於考試系統中考試剩餘時間顯示)

用java製作的簡易倒計時器(主要可用於考試系統中考試剩餘時間顯示)

import java.awt.BorderLayout;
import java.awt.Font;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;


import javax.swing.JFrame;
import javax.swing.JLabel;


/**
 * 製作一個可以顯示倒計時的介面,顯示的倒計時格式是:HH:mm:ss
 * (該倒計時器主要是用在比如考試系統倒計時上面!)。
 * @author dukangcheng
 *
 */
public class CountDown{
private JLabel label;
    public static void main(String[]args){
    CountDown cn=new CountDown();
   
    }
    public CountDown(){
    countDown();
    }
    public void countDown(){
        //建立窗體物件倒計時的內容將顯示在該窗體上面
    JFrame frame=new JFrame();
    frame.setSize(400,150);
    frame.setLocationRelativeTo(null);
    frame.setResizable(false);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //將倒計時字幕顯示在正中間
    label=new JLabel("",JLabel.CENTER);
    frame.setLayout(new BorderLayout());
    frame.add(label,BorderLayout.CENTER);
    frame.setVisible(true);
   
        /* 
         * 設定倒計時的時間長度
         * 建立timer物件,再根據timer的schedule方法創鍵匿名內部類
         * 並實現執行緒
         */
    System.out.println("請輸入需要設定的倒計時長:");
    Scanner input=new Scanner(System.in);
    //i可以設計成任意的大小,不是固定的
    int i=input.nextInt();
        final long end=System.currentTimeMillis()+i*1000*60;
    Timer timer=new Timer();
    timer.schedule(new TimerTask() {
//獲取剩餘的倒計時長
public void run() {
 long sub=end-System.currentTimeMillis();
 if(sub<0){
 return;
 }
 updateTimer(sub);
}

},0,1000);
    }
    //顯示成HH:mm:ss樣的格式,重新整理剩餘的時長
    public void updateTimer(long sub){
    int h=(int)(sub/1000/60/60);
    int m=(int)(sub/1000/60%60);
    int s=(int)(sub/1000%60);
    String str=h+":"+m+":"+s;
    //將String型別轉換成Date型別的格式
    SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
    Date date=new Date();
    Font font=new Font("Default", Font.PLAIN, 40);
    label.setFont(font);
    try{
    date=sdf.parse(str);
    }catch(Exception e){
    e.printStackTrace();
    }
    //將Date型別的數設定成想要顯示的時間格式,並寫入JLable中
    label.setText(sdf.format(date));
    System.out.println(sdf.format(date));
    }
}

相關推薦

java製作簡易倒計時主要用於考試系統考試剩餘時間顯示

import java.awt.BorderLayout; import java.awt.Font; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; i

JAVA製作一個簡易的計算器

題目:   編寫一個模擬計算器的程式。在面板中新增一個文字框(顯示按鍵及運算結果)、      10個數字按鈕(0~9)、4個運算按鈕(加、減、乘、除)、一個等號按鈕、一個清除按鈕,   要求將按鍵和結果顯示在文字框中。 程式碼過程展示:

Java踩坑筆記:ObjectIOStream與IOStream的各種裝飾先挖個坑,以後再來詳細填

ted objects lose val read thread 環境 valid 序列化對象 Java的序列化和ObjectStream真是一個大坑。。 先不說多線程環境下的問題,在單線程裏,一個Socket只能保持一個ObjectOutputStream,原因好像是

java基礎-叠代Iterator與增強for循環

strong 原創 col -s 如果 很多 元素 子類 每一個               java基礎-叠代器(Iterator)與增強for循環                                     作者:尹正傑 版權聲明:原創作品,謝絕轉載!否則將

Java基礎-類加載機制與自定義類Java類加載ClassLoader

定義類 方式 blog 之前 www 筆記 通過 反射 加載機制          Java基礎-類加載機制與自定義類Java類加載器(ClassLoader)                                     作者:尹正傑 版權聲明:原創作品,謝絕轉

自己製作頁面編輯js+css

編輯器都有什麼功能。文字加粗,上傳圖片,改變大小等等。此例僅包含文字加粗和圖片上傳。 首頁你要知道html標籤中的contenteditable="true"屬性,不知道的自行去百度。(可讓div可編輯) 其次知道js的document.execCommand(),不知道的自行去百度(可以實

java實現簡易加密和解密

實現原理:               通過位運算的異或運算子“^”把字串與一個指定的值進行異或運算,從而改變字串中的每個字元的值,這樣就可以得到一個加密後的字串。傳送後再將加密後的字串通過源程式實現解

JS秒錶倒計時

<html> <body> <span>倒計時30分鐘:</span><span id="clock">00:30:00:00</span> </body> </heml> <script type

JavaScript——setTimeout()製作簡易計時

不得不說,setTimeout()是一個非常神奇的東西,我們可以用它來掌控時間,從而達到意想不到的結果。 這裡先看一下setTimeout()的定義。  定義和用法 setTimeout() 方法用於在指定的毫秒數後呼叫函式或計算表示式。 提示: 1000 毫秒=

【計算機作業系統】java模擬非搶佔式先來先到、短作業、高響應比時間片輪轉排程演算法

. 首先,我來介紹一下該程式大致內容 程式使用了ArrayList連結串列來模擬各程序佇列,並且結果會顯示出每個時刻的程序的執行資訊、最後的所有程序的執行結果和程序的執行順序。 ps:各個模擬程式是相互獨立,如果不需要的直接刪除即可。 現在介紹每個排程演算法的思想

MFC製作一個倒計時小程式

void CCdTimerDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default UpdateData(TRUE); BOOL bIsDecreased = FALSE;

java製作一個具有增刪改查的簡單的學生管理系統

1、學生成員類   package mystudentManage; public class Student { private String name; private String stdId; private String age;

基於QtAV的簡易播放開源

       這個開原始碼,是我利用QtAV原始碼,提取其中一部分程式碼,進行整合到我自己專案中,做的一個小型播放器測試,至於怎麼安裝一些環境以及QtAV原始碼編譯在我以前寫的一篇部落格中可以看到(Qt第三方庫QtAV--- ubuntu編譯與執行),因為看到有人提出說怎麼呼

java搭建一個分散式伺服器

本專欄主要介紹如何用java實現一個小型分散式(單機多程序模式)伺服器,希望能給剛開始學分散式的朋友一些幫助。講得不對的地方歡迎在評論區指出。 用到的主要技術棧: netty 網路傳輸框架 spring-boot java網路程式設計 Java多執行緒

【20171210】java實現簡易貪吃蛇

一、各個類之間的關係 之前學軟體工程不努力,現在徒傷悲啊,不會用visio畫類圖…大致的類、方法之間的關係就是這樣。 二、遊戲介面 三、具體實現: 1.遊戲視窗 要考慮的問題有

jquery製作簡易日曆

html程式碼如下: div align="center" id="divAll"> <table id="tab" border="1" cellpadding="0" cellspacing="10"> <tr> <td date="一月

JAVA面向物件寫計算器且避免無效輸入

先放目錄結構   Operation類中封裝了a,b兩個運算數,以及得到運算結果的方法 package jisuanqi; public class Operation { private double a; private double b; public do

Java實現面向物件程式設計入門

一、◆抽象和封裝1、現實世界是“面向物件”的,面向物件就是採用“現實模擬”的方法設計和開發程式。從現實中抽象出類:①發現類 ②發現類的屬性 ③發現類的方法用面向物件的思想描述面向物件的世界,符合人類的思維習慣。(類圖用於分析和設計類,更直觀、容易理解。)2、面向物件設計的過

java實現小說閱讀功能:檢視全文、統計總行數/總頁碼數、查詢指定行、指定頁碼、實現翻頁

1.任務要求: 在DOS視窗下,實現檢視全文、統計總行數/總頁碼數、查詢指定行、指定頁碼、翻頁 2.閱讀器實現方式 輸入1(檢視全文、統計總行數/總頁碼數、) 輸入2(讀取指定行,查詢其上下行) 輸入+顯示下一行,輸入-顯示上一行,輸入bye返回上一級

Java實現簡易Tomcat伺服器清晰易懂

Tomcat伺服器是一個輕量級的Java程式碼實現的WEB伺服器。這篇文章將會講述如何用Java實現一個簡易版的Tomcat伺服器。 簡單的講,簡易原理是這樣的: 1. Tomcat開始執行之後,會在主機上開一個埠(預設是80埠),在所開闢的埠上執行一個ServerSock