DisplayClock

 Nama: Hafidz Panji Ashari

NRP: 5025231278

KELAS: PBO-A 



import javax.swing.*;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DisplayClock extends JFrame {

    private JLabel timeLabel;

    public DisplayClock() {
        setTitle("Display Clock");
   
        timeLabel = new JLabel();
        timeLabel.setFont(new Font("Verdana", Font.PLAIN, 50));
        timeLabel.setHorizontalAlignment(SwingConstants.CENTER);

        add(timeLabel);

        setSize(400, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

        startClock();
    }

    public void startClock() {
        Timer timer = new Timer(1000, e -> updateClock());
        timer.start();
    }

    public void updateClock() {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        String currentTime = sdf.format(new Date());

        timeLabel.setText(currentTime);
    }

    public static void main(String[] args) {
        new DisplayClock();
    }
}


Berikut penjelasan untuk setiap fungsi dalam kode:

1. Konstruktor `DisplayClock()`:

  •    Fungsi ini dipanggil saat objek `DisplayClock` dibuat.
  •    Menyetel judul jendela menggunakan `setTitle()`, membuat label (`JLabel`) untuk menampilkan waktu, menyetel font dan posisi label, serta menambahkan label ke frame.
  •    Menentukan ukuran jendela dengan `setSize()`, menambahkan perilaku penutupan dengan `setDefaultCloseOperation()`, dan membuat jendela terlihat menggunakan `setVisible(true)`.
  •    Memanggil metode `startClock()` untuk memulai jam.


2. `startClock()`:

  •    Fungsi ini membuat timer yang diperbarui setiap 1 detik (1000 milidetik) menggunakan `Timer`.
  •    Timer tersebut memanggil `updateClock()` setiap detik untuk memperbarui waktu pada tampilan.


3. `updateClock()`:

  •     Fungsi ini mengambil waktu saat ini menggunakan kelas `SimpleDateFormat` dan `Date`.
  •     Format waktu yang digunakan adalah jam, menit, dan detik (`HH:mm:ss`).
  •     Fungsi ini kemudian memperbarui teks label (`timeLabel`) dengan waktu saat ini.


4. `main(String[] args)`:

  •    Fungsi `main()` adalah titik masuk untuk menjalankan program.
  •    Di sini, objek `DisplayClock` dibuat yang otomatis memanggil konstruktor, memunculkan jendela, dan memulai tampilan jam.





Comments

Popular posts from this blog

Daily Task Manager

EAS