Timer 클래스는 백그라운드 쓰레드로 장래 실행되는 임무를 스케줄하는 쓰레드를 위한 기능이다. 일정 간격으로 특정 메소드를 호출하여 할 때가 있다. 물론 쓰레드 클래스의 sleep() 메소드를 사용하여 프로그래밍하여도 좋지만, javax.swing.Timer 클래스를 사용하면 더욱 편리하다.
Timer 클래스의 시작은 start() 메소드를 호출하면 된다. 그리고 호출 될 때 마다 실행될 내용은 implements ActionListener 를 통해 구현해야 되는 actionPerformed(ActionEvent e) 메소드 안에 구현하면 된다.
Timer 클래스 생성자
timeLength 값 만큼 1초에 한번씩 현재시간으로 변경하는 예제 프로그램
/**
* Timer 클래스 사용 예제
*/
package co.kr.test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.util.*;
public class ExampleTimer extends JFrame implements ActionListener {
static int timeLength = 10;
JLabel timeLabel;
public ExampleTimer() {
setSize(300,200);
setTitle("Timer Test");
setDefaultCloseOperation(EXIT_ON_CLOSE);
timeLabel = new JLabel("", timeLabel.CENTER);
Container c = getContentPane();
c.add(timeLabel);
show();
Timer timer = new Timer(1000, this);
timer.start();
}
public void actionPerformed(ActionEvent ev) {
Date date = new Date();
if( timeLength > 0 ){
String time = date.toString();
timeLabel.setText(time);
}else { System.exit(0); }
timeLength--;
}
public static void main(String[] args) {
new ExampleTimer();
}
}
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
Thread(쓰레드) 사용 설명 (0) | 2009.02.23 |
---|---|
Telnet 프로그램 (0) | 2009.02.03 |
전화번호부 프로그램 (0) | 2009.02.01 |
메모장 프로그램 (0) | 2009.01.27 |
java.net.InetAddress - IP주소 (0) | 2009.01.23 |