Dalam bahasa pemrograman java kita bisa membuat semacam pewaktu (timer) sederhana dengan memanfaatkan class Timer (javax.swing.Timer). Walaupun sederhana tapi class ini sangat berguna terutama untuk membuat semacam animasi yang membutuhkan pewaktu, seperti membuat jam, animasi teks berjalan, atau untuk fungsi-fungsi lain.
Kali ini akan saya contohkan dalam pembuatan timer sederhana yang mensimulasikan stopwatch, program ini akan menghitung detik mulai detik ke-0, 1, 2, dan seterusnya.
// kita import dulu dari library segala sesuatu yang kita butuhkan
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
// kita buat kelas timer yang meng-extends JFrame sebagai tampilan GUI
public class timer extends JFrame{
private Timer myTimer;
private int jam=0, menit=0, detik=0;
private JLabel mylabel;
public timer(){
// inisialisasi tampilan
mylabel = new JLabel(“time”);
this.add(mylabel);
this.setVisible(true);
this.setSize(50,50);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// inisialisasi timer, parameter pertama adalah delay-nya (dalam milisekon)
// dan yang kedua adalah kelas yang akan menghandle timernya
myTimer = new Timer(100, new TimerHandler());
// jika inisialisasi selesai kita mulai pewaktunya
myTimer.start();
}
// Kelas yang menghandle timer
private class TimerHandler implements ActionListener{
private String buff;
private void write(){
buff = String.format(“ %s%3d :%3d :%3d”, “Timer: “,jam, menit, detik); // penampung string
mylabel.setText(buff); // tampilkan ke layar
}
// tulis yang akan dilakukan program di dalam fungsi override ini
public void actionPerformed(ActionEvent e) {
detik++;
if(detik==60){ detik=0; menit++; }
if(menit==60){ menit=0; jam++; }
if(jam==24){ jam=0; }
this.write();
}
}
}
Jika sudah, panggil kelas ini di kelas main/kelas utama.
public class main {
public static void main(String[] args){
new timer();
}
}
Hasilnya :

Intinya setiap waktu delay (yang didefinisikan di new Timer(Delay, kelas handler)) program akan menjalankan fungsi atau perintah yang ada di dalam kelas handler.
Penggunaan timer ini sangat luas untuk berbagai macam kebutuhan tergantung dari kreatifitas kita dalam memanfaatkannya. Semoga pengetahuan ini bisa menambah pengetahuan kita bersama :D.