Global User Interface

 GUI






ImageViewer



Program ImageViewer adalah aplikasi Java berbasis Swing untuk menampilkan dan memodifikasi gambar sederhana. 

  1. Komponen Utama:

    • JFrame: Jendela utama aplikasi.
    • ImagePanel: Panel untuk menampilkan gambar.
    • Menu:
      • File: Membuka, menutup, atau keluar dari aplikasi.
      • Filter: Efek gelap (darker) dan terang (lighter).
      • Help: Menampilkan informasi aplikasi.
  2. Fitur Utama:

    • Buka File: Memuat gambar menggunakan JFileChooser.
    • Edit Gambar: Efek gelap/terang melalui metode darker dan lighter (menggunakan OFImage).
    • Tutup Gambar: Menghapus gambar dari tampilan.
    • Keluar: Menutup aplikasi.
  3. Alur Kerja:

    • Program memulai dengan main, membuat antarmuka GUI, lalu menunggu input pengguna melalui menu.

ImageFileManager



Kode di atas adalah bagian dari kelas ImageFileManager yang bertanggung jawab untuk memuat file gambar ke dalam aplikasi:

  1. Fungsi Utama:

    • loadImage: Membaca file gambar dari disk menggunakan ImageIO.read dan mengubahnya menjadi objek OFImage.
  2. Parameter dan Pengembalian:

    • Parameter: File file - file gambar yang akan dimuat.
    • Return: Mengembalikan objek OFImage, representasi gambar yang bisa diproses lebih lanjut.
  3. Pengecualian:

    • Melempar Exception jika file tidak ditemukan atau formatnya tidak valid.

Kode ini memungkinkan aplikasi memuat gambar dalam format yang didukung (misalnya, JPEG, PNG).


ImagePanel




Kode di atas mendefinisikan kelas ImagePanel, turunan dari JPanel, yang digunakan untuk menampilkan gambar dalam aplikasi.

  1. Atribut:

    • image: Objek OFImage yang menyimpan gambar yang akan ditampilkan.
  2. Metode Utama:

    • setImage: Mengatur gambar yang akan ditampilkan dan me-refresh panel dengan repaint().
    • clearImage: Menghapus gambar (mengatur image ke null) dan me-refresh panel.
  3. Override:

    • paintComponent:
      • Memanggil implementasi bawaan (super.paintComponent) untuk membersihkan panel.
      • Jika ada gambar (image tidak null), menggambar gambar tersebut di posisi (0, 0) pada panel.


OFImage





Kode di atas mendefinisikan kelas OFImage, yang memperluas BufferedImage, dengan kemampuan tambahan untuk mengubah kecerahan gambar.

Fungsi Utama:

  1. Konstruktor:

    • Membuat objek OFImage dari BufferedImage dengan dimensi dan tipe yang sama.
    • Menyalin isi gambar dari objek BufferedImage ke OFImage.
  2. Metode:

    • darker:
      • Mengurangi intensitas warna setiap piksel (merah, hijau, biru) sebesar 20% (dikalikan 0.8), menghasilkan gambar yang lebih gelap.
    • lighter:
      • Meningkatkan intensitas warna setiap piksel hingga 20% (dikalikan 1.2), dengan batas maksimum 255, menghasilkan gambar lebih terang.


Output:








GITHUB : https://github.com/rafftd/PBO-GUI.git

Komentar

Postingan populer dari blog ini

ETS PBO