Membuat CountDown Timer dengan JAVA


CountDown timer??……:-)

yupppzzzz….. sempat ada masukan dari senior saya Johan V. Pieter bahwa judul yang sebenarnya adalah CountDown Timer dari judul sebelumnya yaitu Time Remaining..yang ternyata keliru dalam pengertiannya. 🙂 seperti definisi pada umumnya tentang countDoen timer yaitu penghitung waktu mundur.. biasanya cara ini dipakai pada saat kita mengikuti TAS dengan waktu yang dibatasi atau dengan perlombaan tertentu yang mengharuskan kita untuk menyelesaikan lomba tersebut dengan waktu yang ditentukan.. 🙂

maka disini kita akan coba membuat sebuah program kecil menggunakan JAVA sebagai program penghitung waktu mundur (CountDown timer).  kurang lebih hasilnya seperti gambar ini :

cara kerjanya sederhana aja… pertama, kita perlu memilih waktu mulainya proses time remaining pada Combobox. setelah itu klik tombol Mulai sehingga proses perhitungan waktu secara mundur dimulai berdasarkan pilhan waktu. pada saat prosesnya dimulai tombol Mulai akan berganti fungsi menjadi tombol Berhenti. sehingga kita dengan mudah menghentikan proses tersebut..

seperti biasa untuk membuat time remaining yang diperlukan adalah Component JTextField sebagai proses berjalannya waktu, JComboBox sebagai waktu yang ditentukan untuk memulainya proses dan JButton untuk melakukan aksi berupa Start Time dan Stop Time. sedangkan Class tambahan yang diperlukan adalah Timer.

untuk membuat time remaining ada beberapa Method pendukung diantaranya:

  • Method utama. method ini berfungsi untuk mengeksekusi pemilihan nilai dari detik, menit dan jam secara mundur.
private void initMulai() {
        timer = new Timer(interval, new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                if (seconds == 0 && (minutes > 0 || hours > 0)) {
                    seconds = 59;
                    minutes--;
                } else {
                    seconds--;
                }
                if (minutes == 0 && hours > 0) {
                    minutes = 59;
                    hours--;
                }
                if (seconds == 0 && minutes == 0 && hours == 0) {
                    stop();
                    seconds = minutes = hours = 0;
                    txtRemaining.setText("Selesai !");
                }
                TimeScan ts = new TimeScan(seconds, minutes, hours);
                txtRemaining.setText(ts.getHours() + ":" + ts.getMinutes() + ":" + ts.getSeconds());
             }
        });
    }
  • Method Start Timer.
 public void start() {
        timer.start();
        btnMulai.setText("Berhenti");
    }
  • Method Stop Timer.
public void stop() {
        timer.stop();
        btnMulai.setText("Mulai");
    }
  • Method ambil Index ComboBox. fungsinya untuk menginput nilai pada detik, menit dan jam berdasarkan Combobox yang dipilih
private void getIndex() {
        if (cmdTime.getSelectedIndex() == 0) {
            seconds = hours = 0;
            minutes = 5;
        } else if (cmdTime.getSelectedIndex() == 1) {
            seconds = hours = 0;
            minutes = 15;
        } else if (cmdTime.getSelectedIndex() == 2) {
            seconds = hours = 0;
            minutes = 30;
        } else if (cmdTime.getSelectedIndex() == 3) {
            seconds = hours = 0;
            minutes = 45;
        } else if (cmdTime.getSelectedIndex() == 4) {
            seconds = hours = 0;
            minutes = 60;
        } else if (cmdTime.getSelectedIndex() == 5) {
            seconds = 0;
            minutes = 30;
            hours = 1;
        }
    }
  • Perintah untuk Button Mulai adalah :
private void btnMulaiActionPerformed(java.awt.event.ActionEvent evt) {
        if (btnMulai.getText().equals("Mulai")) {
            getIndex();
            start();
        } else if (btnMulai.getText().equals("Berhenti")) {
            stop();
        }
    }

Coding terakhirnya adalah dengan menambahkan beberapa source code berikut diatas Costruktor Classnya  :

private Timer timer;
    private int seconds = 0, minutes = 0, hours = 0;
    private int interval = 1000;

setelah itu jalankan programnya sehingga hasilnya kurang lebih seperti penjelasan aku sebelumnya… berikut aku sertakan Source code lengkap.. jika pada waktu open Project dan terdapat error saat menjalankannya.. teman” perlu menambahkan Library yang juga sudah aku sertakan dalam Source code tersebut… Selamat Mencoba. Semoga Membantu !! 🙂

Advertisements

11 thoughts on “Membuat CountDown Timer dengan JAVA

      1. kayakx b salah judul…..
        danke bnyak s kase masukan….
        akan di ralat judulnya…hehe
        btw skrang bu john lg aktif dmn?

  1. aduh makasih banyak mas, kemarin saya bikin scoring board buat basket di blog saya tapi waktunya masih maju, mungkin setelah saya baca blog ini waktunya bisa mundur

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s