Banner Java

Contoh Program Java: Menggunakan Kelas JList

Di artikel Mengenal kelas JList Di Pemrograman Java, Anda diperkenalkan pada kelas JList beserta dengan konstruktor dan metoda yang paling sering digunakan. Di artikel kali ini, Anda akan diberikan contoh program sederhana dalam menggunakan kelas Jlist. Contoh program ini menggunakan obyek list yang berisi daftar judul buku yang dapat dipilih oleh pengguna aplikasi (application user). Keterangan mengenai jumlah dan judul buku yang dipilih, kemudian disimpan di obyek text area (obyek dari kelas JTextArea). Berikut ini adalah kode program dan hasil eksekusinya:

// Nama file : DaftarJudulBuku.java
// Menggunakan kelas JList untuk menampilkan daftar judul buku

// Mengimpor kelas
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

// Deklarasi kelas
public class DaftarJudulBuku extends JFrame 
   implements ListSelectionListener {

   private JList list;
   private JLabel label;
   private JTextArea textArea;
   private JScrollPane scrollPane1, scrollPane2;
   private JPanel panel;

   // Deklarasi larik string untuk judul buku
   private String[] judulBuku = {"Pemrograman PHP", "Pemrograman Java",
      "Microsoft Word 2010", "Excel 2010 Tingkat Lanjut", "Microsoft Access 2010",
      "Pemrograman Phyton", "Database MySQL", "Microsoft PowerPoint 2010",
      "Microsoft Word 2007 & VBA", "Trik Memperbaiki PC dan Laptop",
      "Java Project With NetBeans IDE", "Trik Memperbaiki Ponsel"};

   // Konstruktor tanpa argumen
   public DaftarJudulBuku() {

      Font font = new Font("Tahoma", Font.PLAIN, 12);
      
      list = new JList(judulBuku);
      list.setVisibleRowCount(7);
      list.setFont(font);
      scrollPane1 = new JScrollPane(list);

      label = new JLabel("Pilih judul buku dari daftar berikut :");
      label.setFont(font);

      panel = new JPanel();
      panel.setLayout(new BorderLayout(0, 3));
      panel.add(label, BorderLayout.PAGE_START);
      panel.add(scrollPane1, BorderLayout.CENTER);

      textArea = new JTextArea();
      textArea.setEditable(false);
      textArea.setLineWrap(true);
      textArea.setWrapStyleWord(true);
      textArea.setFont(font);
      scrollPane2 = new JScrollPane(textArea);

      // Meregistrasi listener
      list.addListSelectionListener(this);
     
      getContentPane().add(scrollPane2, BorderLayout.CENTER);
      getContentPane().add(panel, BorderLayout.LINE_START);
   }

   // Menangani event (aksi) pemilihan judul buku
   public void valueChanged(ListSelectionEvent e) {
      
      Object[] judulDipilih = list.getSelectedValues();

      String str = "Jumlah judul buku yang dipilih : " + judulDipilih.length;
             str +="\nJudul buku yang dipilih :\n";
      for (int x = 0; x < judulDipilih.length; x++) {
         str += (x + 1) + "  " + judulDipilih[x];
         str += (x < judulDipilih.length - 1) ? "\n" : "";
      }
      textArea.setText(str);
   }

   // Metoda main
   public static void main(String[] args) {
      DaftarJudulBuku frame = new DaftarJudulBuku();
      frame.setTitle("Kelas DaftarJudulBuku");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(400, 190);
      frame.setVisible(true);
   }
}

Menggunakan kelas JList di Java

Kelas DaftarJudulBuku merupakan perluasan kelas JFrame yang mengimplementasikan interfes ListSelectionlistener. Program akan merespon setiap aksi pemilihan item (judul buku) di list. Ketika pengguna aplikasi memilih judul buku yang terdapat di obyek list, program akan mengeksekusi blok metoda valueChanged (baris nomor 59 – 70).

Di dalam blok metoda valueChanget, variabel judulDipilih yang mengacu ke larik obyek dideklarasikan (baris nomor 61). Elemen dari larik ini adalah judul buku yang telah dipilih (list.getSelectedValues()). Baris nomor 63 - 68 adalah pernyataan untuk merangkai string yang terdiri dari string yang menunjukkan jumlah dan daftar judul buku yang dipilih. Rangkaian string yang tersimpan di variabel string str kemudian ditampilkan di obyek text area menggunakan metoda setText (baris nomor 69).

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.