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
Post a Comment