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.
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 } }