在 JavaFx 中建立計時器
在 Java 中,可能需要稍後或延遲執行某些計劃任務。我們將通過在 Java 程式碼中新增一個計時器來執行此操作。
要將計時器新增到程式碼中,我們將使用 java.util
包中的 Timer
類和 TimerTask
類。
要使用 java.util.Timer
類,我們首先需要匯入它。為此目的,使用 import
關鍵字後跟所需的類。
import java.util.Timer;
同樣,要使用 TimerTask
類,我們首先需要匯入它。為此,我們使用 import
關鍵字後跟所需的類。
我們在 Java 專案中匯入 java.util.TimerTask
類。
import java.util.TimerTask;
我們想安排一個簡單的任務,在 5 秒內列印 Hello World
訊息。
讓我們看一下執行此操作的程式碼,然後是對給定程式碼的逐節解釋以及輸出。
在 JavaFX 中建立計時器
在這個例子中,我們首先匯入 Timer
和 TimerTask
類,然後在 main()
方法中,我們建立 Timer
類的物件和匿名內部類來執行任務。
由於 TimerTask
類實現 Runnable
介面,我們重寫 run()
方法來執行任務,然後使用 schedule()
方法。
我們執行任務。schedule()
方法有兩個引數,第一個是任務物件,第二個是延遲時間。
請參見下面的示例。
import java.util.Timer;
import java.util.TimerTask;
public class SimpleTesting {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
// The task you want to do
System.out.println("Hello World");
}
};
timer.schedule(task, 5000l);
}
}
輸出:
Hello World
排程任務的主要部分是使用 Timer
類的 timer.schedule()
方法執行的。該函式的簽名如下:
public void schedule(TimerTask task, long delay)
它安排指定的任務在指定的延遲後執行。
引數是 task,scheduled 和 delay,執行前的延遲毫秒數。
如果延遲為負,則它丟擲的可能異常為 IllegalArgumentException
,或者 delay + System.currentTimeMillis()
為負。
IllegalStateException
,如果任務已被安排或取消,定時器被取消,或定時器執行緒終止,NullPointerException
如果任務為空。
我們編寫 timer.schedule(task, 5000l)
來排程任務,第一個引數是之前定義的任務物件,第二個引數是需要的延遲。
由於我們需要 5 秒的延遲,等於 5000 毫秒,我們將 5000l
作為第二個引數傳遞。
l
表示長資料型別。因此,Hello World
訊息會在 5 秒或 5000 毫秒的延遲後列印在輸出中。
我們可以通過將 print 語句替換為所需的語句來執行更復雜的任務。
まとめ
在本主題中,我們學習瞭如何在 Java 程式中新增一個計時器,以安排一個簡單的列印任務,讓我們瞭解如何將這個概念應用到實際用例中。