5025231237 - Rayhan Aurelia Pramana Rijal - GUI

 Nama : Rayhan Aurelia Pramana Rijal

 NRP   : 5025231237

 Kelas  : PBO A



1. Kelas Login

  • Kelas ini adalah inti dari program.
  • Menyimpan atribut login seperti username, password, dan pesan status login msg.
  • Menyediakan metode untuk membuat dan menjalankan GUI.

2. Method main
  • Metode utama yang digunakan untuk menjalankan aplikasi.
  • Membuat objek dari kelas Login dan memanggil metode go() untuk memulai GUI.

3. Method go()
  • Membuat jendela (JFrame) dengan judul "Login Form".
  • Menambahkan panel (JPanel) untuk tata letak komponen login menggunakan GridLayout (dengan 3 baris dan 2 kolom serta jarak 10 piksel antar elemen).
  • Menambahkan komponen berikut:
  • JLabel untuk label "Username" dan "Password".
  • JTextField untuk memasukkan username.
  • JPasswordField untuk memasukkan password (menyembunyikan teks).
  • JButton untuk tombol "Login" dan "Cancel".
  • Mengatur event listener untuk masing-masing tombol:
  • Tombol Login memeriksa kredensial.
  • Tombol Cancel menghapus isian dan mengembalikan fokus ke input username.
  • Menentukan ukuran frame (400x150 piksel) dan membuatnya terlihat (frame.setVisible(true)).

4. Kelas LoginListener
Fungsi Utama:
  • Mengambil input dari pengguna (txtUsername dan txtPassword).
  • Membandingkan input dengan kredensial yang tersimpan dalam variabel username dan password.
  • Menentukan apakah login berhasil atau tidak:
  • Jika benar, menampilkan pesan "Login Granted!".
  • Jika salah, menampilkan pesan "Login Denied".
  • Pesan ditampilkan menggunakan JOptionPane.showMessageDialog().

5. Kelas CancelListener
Fungsi Utama:
  • Menghapus teks di txtUsername dan txtPassword menggunakan metode setText("").
  • Mengembalikan fokus ke txtUsername untuk kemudahan input ulang.

Metode ini bertanggung jawab untuk:

Kelas ini adalah inner class yang mengimplementasikan antarmuka ActionListener untuk menangani klik pada tombol "Login".

Kelas ini adalah inner class lain yang juga mengimplementasikan ActionListener untuk menangani klik pada tombol "Cancel".

Output : 





2. Implementasikan aplikasi image viewer .

1. Kelas ImageViewer

  • Mengatur GUI.
  • Memuat dan menampilkan gambar yang dipilih pengguna.

2. Method main
  • Menjalankan program menggunakan SwingUtilities.invokeLater() untuk memastikan GUI dibuat di thread Event Dispatch Thread (EDT), yang merupakan praktik terbaik dalam Swing.
  • Membuat objek ImageViewer dan memanggil metode createAndShowGUI() untuk membangun antarmuka pengguna.

3. Method createAndShowGUI()
  • Membuat jendela utama (JFrame) dengan judul "Image Viewer" dan ukuran awal 600x600 piksel.
  • Menambahkan:
  • JLabel (imageLabel): Untuk menampilkan gambar di tengah jendela.
  • JButton (btnOpen): Tombol untuk membuka gambar.
  • Mengatur tata letak:
  • BorderLayout.CENTER: Menampilkan gambar di bagian tengah.
  • BorderLayout.SOUTH: Menempatkan tombol di bawah jendela.
  • Menambahkan ActionListener ke tombol Open Image:
  • Ketika tombol diklik, metode openImage() dipanggil.
  • Menampilkan jendela menggunakan frame.setVisible(true).

4. Method openImage()
Langkah-langkahnya:
  • Membuka dialog file untuk memilih file gambar dari sistem file lokal.
  • JFileChooser.FILES_ONLY: Membatasi pilihan hanya untuk file, bukan folder.
  • fileChooser.showOpenDialog(null): Menampilkan dialog kepada pengguna.
  • Return Value:
  • APPROVE_OPTION: File dipilih.
  • Lainnya: Tidak ada file yang dipilih atau dialog ditutup.
  • File selectedFile: Menyimpan file yang dipilih.
  • Membuat objek ImageIcon dengan jalur file menggunakan selectedFile.getAbsolutePath().
  • Mengambil gambar asli dari ImageIcon dengan imageIcon.getImage().
  • Mengubah ukurannya menjadi 500x500 piksel menggunakan:
  • Image.SCALE_SMOOTH: Untuk menghasilkan gambar dengan kualitas terbaik.
  • Membungkus gambar yang diubah ukuran menjadi ImageIcon baru dan menetapkannya ke imageLabel menggunakan setIcon().



output : 




Komentar

Postingan populer dari blog ini

Tugas Membuat Profil Diri

Ticket Machine

5025231327 - Rayhan Aurelia Pramana Rijal - EAS PWEB E