Với lớp Timer, bạn có thờ̉ cho thực hiợ̀n mụ̣t tiờ́n trình của viợ̀c thực thi mụ̣t hành đụ̣ng sau mụ̣t khoảng thời gian xác định và lặp lại hành vi ṍy.
Có hai cách đờ̉ thực hiợ̀n Timer:
• Thực hiợ̀n mụ̣t tác vụ, với thời gian lặp lại được xác định. Ví dụ, tool tip manager sử dụng timers đờ̉ quyờ́t định khi nào thì hiờ̉n thị và khi nào thì tắt nó đi.
• Thực hiợ̀n viợ̀c lặp đi lặp lại mụ̣t tác vụ. Trong ví dụ dưới đõy sử dụng đụ́i tượng timer đờ̉ thờ̉ hiợ̀n tiờ́n trình làm viợ̀c của mụ̣t tác vụ.
Và đõy là đoạn mã của chương trình ProgressBarDemo.java.
public final static int ONE_SECOND = 1000; ...
timer = new Timer(ONE_SECOND, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
} });
Khi user nhṍn vào nút Start, chương trình khởi đụ̣ng timer: timer.start();
Và khi tác vụ hoàn thành, action listener của timer sẽ dừng timer: if (/* task is done */) {
... }
The Timer API
Bảng sau đõy liợ̀t kờ những cṍu trúc và phương thức của Timer. Các hàm API vờ̀ sử dụng timers chia thành hai loại như sau:
• Tạo và khởi đụ̣ng Timer • Chạy mụ̣t Timer
Creating and Initializing the Timer
Method or
Constructor Purpose
Timer(int, ActionListener)
Tạo mụ̣t timer. Tham sụ́ int chỉ rõ thời gian dừng (milliseconds) giữa hai hành vi sự kiợ̀n. Sử dụng setDelay đờ̉ thay đụ̉i đụ̣ trờ̉. Tham sụ́ thứ hai là mụ̣t action listener, là mụ̣t constructor dùng đờ̉ nhọ̃n biờ́t với mụ̣t timer. Ngoài ra, còn có thờ̉ đăng ký action listeners với addActionListener và gỡ bỏ chúng bằng removeActionlistener.
void setDelay(int)
int getDelay() Xác lọ̃p hoặc lṍy sụ́ milliseconds. void
setInitialDelay(int) int getInitialDelay()
Xác lọ̃p hoặc lṍy sụ́ milliseconds chờ trước khi bắt đõ̀u hành vi sự kiợ̀n thứ nhṍt.
void
setRepeats(boolean) boolean isRepeats()
Xác lọ̃p hoặc chỉ ra timer có lặp lại hay khụng. Mặc định có giá trị true. Gọi setRepeats(false) đờ̉ khởi đõ̀u cho mụ̣t timer khởi đụ̣ng và kờ́t thúc mụ̣t hành.
void
setCoalesce(boolea n)
boolean isCoalesce()
Xác lọ̃p hoặc chỉ ra timer có liờn tục hay khụng. Gửi mụ̣t hành vi sự kiợ̀n vào mụ̣t hành vi sự kiợ̀n đơn. Mặc định có gái trị true.
Running the Timer
Method Purpose
void start() void restart()
Khởi đụ̣ng timer. restart còn có thờ̉ thoát bṍt kỳ mụ̣t hành vi sự kiợ̀n nào được gửi tới.
void stop() Dừng hoạt đụ̣ng của mụ̣t timer. boolean
Bài 4: Bụ́ trí các thành phõ̀n bờn trong các đụ́i tượng chứa
Bài học này sẽ hướng dõ̃n bạn cách quản lý viợ̀c bày trí mà Java Platform cung cṍp, cách sử dụng vị trí tuyợ̀t đụ́i.