Sử du ̣ng Timers

Một phần của tài liệu Giáo trình java gửi với Swing phần 1 (Trang 27 - 29)

Với lớp Timer, ba ̣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 đi ̣nh và lă ̣p la ̣i hành vi ṍy.

Có hai cách đờ̉ thực hiờ ̣n Timer:

• Thực hiờ ̣n mụ ̣t tác vu ̣, với thời gian lă ̣p la ̣i được xác đi ̣nh. Ví du ̣, tool tip manager sử du ̣ng timers đờ̉ quyờ́t đi ̣nh khi nào thì hiờ̉n thi ̣ và khi nào thì tắt nó đi.

• Thực hiờ ̣n viờ ̣c lă ̣p đi lă ̣p la ̣i mụ ̣t tác vu ̣. Trong ví du ̣ dưới đõy sử du ̣ng đụ́i tượng timer đờ̉ thờ̉ hiờ ̣n tiờ́n trình làm viờ ̣c của mụ ̣t tác vu ̣.

Và đõy là đoa ̣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 vu ̣ hoàn thành, action listener của timer sẽ dừng timer: if (/* task is done */) {

...

timer.stop(); ...

}

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ử du ̣ng timers chia thành hai loa ̣i như sau:

• Ta ̣o và khởi đụ ̣ng Timer • Cha ̣y mụ ̣t Timer

Creating and Initializing the Timer

Method or

Constructor Purpose

Timer(int,

ActionListener)

Ta ̣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ử du ̣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

int getDelay() void setInitialDelay(i nt) 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(boo lean)

boolean isRepeats()

Xác lõ ̣p hoă ̣c chỉ ra timer có lă ̣p la ̣i hay khụng. Mă ̣c đi ̣nh có giá tri ̣ true. Go ̣i setRepeats(false) đờ̉ khởi đõ̀u cho mụ ̣t timer khởi đụ ̣ng và kờ́t thúc mụ ̣t hành.

void

setCoalesce(bo olean)

boolean isCoalesce()

Xác lõ ̣p hoă ̣c chỉ ra timer có liờn tu ̣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 đi ̣nh có gái tri ̣ 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 hoa ̣t đụ ̣ng của mụ ̣t timer. boolean

Một phần của tài liệu Giáo trình java gửi với Swing phần 1 (Trang 27 - 29)

Tải bản đầy đủ (DOCX)

(29 trang)
w