자바(Java)/JAVA 2SE

java.util.Timer - 쓰레드 타이머

본클라쓰 2009. 2. 1. 16:28

 

 Timer 클래스는 백그라운드 쓰레드로 장래 실행되는 임무를 스케줄하는 쓰레드를 위한 기능이다. 일정 간격으로 특정 메소드를 호출하여 할 때가 있다. 물론 쓰레드 클래스의 sleep() 메소드를 사용하여 프로그래밍하여도 좋지만, javax.swing.Timer 클래스를 사용하면 더욱 편리하다.

 

 Timer 클래스의 시작은 start() 메소드를 호출하면 된다. 그리고 호출 될 때 마다 실행될 내용은 implements ActionListener 를 통해 구현해야 되는 actionPerformed(ActionEvent e) 메소드 안에 구현하면 된다.

 

 

Timer 클래스 생성자

Timer( int delay, ActionListener listener )

 

 

 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