Menampilkan Waktu Secara Realtime pada JLabel


Java Programming

Java Programming

Peralatan yang diperlukan :

  1. Java Development Kit 1.6
  2. Integrated Development Environtment (NetBeans, Eclipse, dll)

Tadi ada yang bertanya bagaimana cara menampilkan waktu secara realtime di JLabel, maksudnya menampilkan waktu saat ini dalam sebuah JLabel. Jadi seiring dengan berjalannya waktu, tulisan pada JLabel ini pun akan ikut berubah, menunjukkan waktu saat ini.

Caranya tidak terlalu sulit, kita cukup membuat sebuah kelas JLabel baru πŸ˜€ Setelah itu gunakan Timer untuk membuat timer yang mengupdate tulisan pada JLabel dan juga menggunakan SimpleDateFormat untuk mengubah Date ke String agar dapat ditampilkan dalam sebuah JLabel.

package khannedy.collection;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JLabel;
import javax.swing.Timer;

/**
 *
 * @author Eko Kurniawan Khannedy
 */
public class JLabelTime extends JLabel implements ActionListener {

    private String pattern = "dd MMMM yyyy, m:HH:ss";
    private SimpleDateFormat format;
    private Timer timer;
    private Date date;

    public JLabelTime() {
        timer = new Timer(1000, this);
        format = new SimpleDateFormat(pattern);
        date = new Date();
    }

    public String getPattern() {
        return pattern;
    }

    public void setPattern(String pattern) {
        this.pattern = pattern;
        format = new SimpleDateFormat(pattern);
    }

    public void start() {
        timer.start();
    }

    public void stop() {
        timer.stop();
    }

    public void actionPerformed(ActionEvent e) {
        date.setTime(System.currentTimeMillis());
        setText(format.format(date));
    }
}

Untuk menjalankan timer, kita hanya perlu memanggil metode start() milik JLabelTime tersebut. Untuk memberhentikannya gunakan metode stop(). Dan untuk mengubah tampilan tulisannya, kita hanya perlu mengubah pattern-nya

JLabelTime

JLabelTime

Iklan

31 pemikiran pada “Menampilkan Waktu Secara Realtime pada JLabel

  1. Bagaimana caranya untuk mengetahui bahwa timer telah selesai.
    Pada contoh diatas :

    timer = new Timer(1000, this);

    Untuk mengetahui bahwa 1000 milisecond tersebut telah selesai dieksekusi, bagaimana caranya. Sehingga, kita dapat membuat pekerjaan lain setelah JLabelTime selesai di eksekusi.

      • Maaf mas, yang saya tanyakan adalah bagaimana untuk mengetahui bahwa timer telah selesai. Saya cm menggunakan potongan kode dari tutorial diatas untuk memperjelas maksud saya. Sebenarnya tidak ada hubungannya dengan contoh kode program diatas, hanya saja yang saya ingin ketahui bagaimana caranya mengetahui waktu selesainya proses yang sedang dikerjakan. Sehingga bisa dibuat pekerjaan yang lain setelah waktu dari pekerjaan pertama selesai dikerjakan.

  2. ada baiknya tambahkan conditional dibawah ini didalam ActionPerformed(ActionEvent e) -nya :
    if (e.getSource()==timer)
    {
    date.setTime(System.currentTimeMillis());
    setText(format.format(date));
    }

    agar perubahan atau event yang lain terhadap swing tidak mempengaruhi JLabel tersebut diatas πŸ˜‰

  3. gan tolong bantu ane… ane kan input data tanggalan pake jDatechooser nah itu dah ke simpen di database… dan tampil di tabel… nah masalah ane waktu mau edit kan ane klik di tabelnya tuh jdatechooser g nongol… jadi ngampil data tanggalan yang ada di database ke jdatechooser…. itu gimana bantu ane gan….. makasih gan

  4. maaf klo salah kamar..
    mw tanya mas, JLabel itu bisa dibuat dinamis gk ya?
    maunya ntar waktu aplikasi itu jalan, labelnya tu bisa di edit.

  5. Mas eko., saya mau tanya, Ketika kita mau menampilkan sebuah data dari query ke jtable…
    Nah klo kita mau data yg ditampilkan ke jTable tersebut per baris(row), tidak langsung tampil semuanya; Bisa gak mas?? Apa itu menggunkan timer() jg ??

  6. kang, aku coba panggil dari sini tp gk bisa,
    ada yg salah gk kang?

    JLabelTime jt = new JLabelTime();

    public NewJFrame() {
    initComponents();
    jt.start();
    }

    • Silahkan kunjungi
      [http://www.community-java.com/2017/05/belajar-java-swing-menampilkan-waktu-secara-real-time.html]
      Untuk penjelasannya gan..

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