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

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

  1. XBow mengatakan:

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

  2. littlebro mengatakan:

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

  3. dshaka mengatakan:

    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 mengatakan:

      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 mengatakan:

    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. Ayo Belanja Murah mengatakan:

    tengkiu Mboe…takpikir Blog e sopo tibake blogmu

  6. Gustian Ri'pi mengatakan:

    gue bingung liat algoritmanya

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s