How to make a simple timer in java


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 :

timer.png

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.

9 thoughts on “How to make a simple timer in java

  1. XBow berkata:

    bagus tutorialnya cm kalo indentasinya di benerin aoalagi kalo mau di kasi warna bakal lebih menarik

  2. littlebro berkata:

    bagus juga nih tutorialnya, bener kata XBow codingnya kurang rapi tuh, jadi liatnya agak bingung,..

    • 4kitsuki berkata:

      sori kalo kurang rapi, langsung copy paste dari compiler, lain kali dirapihin deh. thanks sarannya

  3. dshaka berkata:

    wah emang lagi aku cari cari nih,,,
    nice tutor 4kitsuki,,,
    oya mo nanya, kalo TimerHandler-nya mo dibuat class sendiri, supaya bisa dipake di beberapa class laen, gimana caranya?

    • 4kitsuki berkata:

      kayaknya caranya mirip, cuma contohku kan pake private class, buat aja class baru yang implements Action Listener, nanti kalo nggunainnya tinggal instance di class yang mau diimplementasikan timernya

  4. ramdan suseno berkata:

    makasih mas,bagus…codingnya..sy kebetulan jg lagi cr ttg timer.

    BTW,mo tanya mas..kalo untuk menghentikan stopwatchnya & set dari 0 lagi gimana ya mas…??

    thanks

  5. tengkiu Mboe…takpikir Blog e sopo tibake blogmu

  6. Gustian Ri'pi berkata:

    gue bingung liat algoritmanya

Tinggalkan Balasan ke XBow Batalkan balasan