Java Timer Sınıfı Kullanımı

30-04-2014
Belirli aralıklarla bir kodun çalışmasını istiyorsak, bunun için Timer sınıfını kullanmamız gerekir. Timer sınıfı ile basit bir kronometre uygulaması için gerekli kodlar aşağıdaki gibidir:

Not: Bu uygulamamızda java.util.Timer sınıfı değil, javax.swing.Timer sınıfı kullanılmıştır.

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
   
public class TimerExample extends JFrame {
    private JLabel lblClock = new JLabel();
   
    public TimerExample() {
        setTitle("Timer ile Kronometre Uygulaması");
        setSize(300, 200);
        add(lblClock);
        createStopwatch();
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
   
    public static void main(String[] args) {
        new TimerExample();
    }
   
    private void createStopwatch() {
        //1000 ifadesi milisaniye demektir. 1000 milisaniye 1 saniyedir
        //Timer sınıfı ikinci parametre olarak ActionListener türünden bir nesne alir.
        Timer timer = new Timer(1000, new ActionListener() {
            private int second = 0;
            private int minute = 0;
            private int hour = 0;
   
            @Override
            public void actionPerformed(ActionEvent e) {
                String stopwatch = hour + " : " + minute + " : " + second;
                lblClock.setText(stopwatch);
   
                if(second>0 && second%59==0){
                   minute++;
                }
                if(minute>1 &&minute%59==0){
                    hour++;
                    minute=0;
                }
                if(hour>23){
                    hour=0;
                }
                if(second>59){
                    second=0;
                }
                second++;
            }
        });
        timer.start(); //bu metodu kullanmazsak, timer calismaz
    }
}

© 2019 Tüm Hakları Saklıdır. Codesenior.COM