Program Java menggunakan kelas JList
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 berikut ini menampilkan 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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// 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);
   }
}

Program Java menggunakan kelas JList

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

Di 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 jumlah dan daftar judul buku yang dipilih. Rangkaian string yang disimpan di variabel string str kemudian ditampilkan di obyek text area menggunakan metoda setText (baris nomor 69).