Selection model adalah salah satu model yang dimiliki kelas JList selain data model. Kelas JList mempunyai dua data field terkait mode pemilihan elemen di obyek list yaitu selectionModel dan selectionMode. Properti selectionModel menentukan penanganan tugas yang terkait seleksi tunggal (single selection), seleksi dengan interval tunggal (single-interval selection) dan seleksi dengan banyak interval (multiple-interval selection).

Selection model dari obyek kelas JList harus mengimplementasikan interface ListSelectionModel yang mendefinisikan tiga konstanta untuk mode seleksi yaitu SINGLE_INTERVAL_SELECTION, MULTIPLE_INTERVAL_SELECTION dan SINGLE_SELECTION, metoda registrasi untuk ListSelectionListener serta mutator dan accessor untuk beberapa data field. Secara deffault, kelas JList menggunakan DefaultListSelectionModel yang merupakan implementasi konkrit dari interface ListSelectionModel. Selection model jarang digunakan secara tegas karena mode pemilihan dapat langsung ditentukan di JList dengan metoda setSelectionMode.

Anda dapat memberi argumen parameter metoda setSelectonMode dengan salah satu konstanta int SINGLE_SELECTION, SINGLE_INTERVAL_ SELECTION dan MULTIPLE_INTERVAL_SELECTION. Mode pemilihan default untuk kelas JList adalah MULTIPLE_INTERVAL_SELECTION. Karena ketiga konstanta didefinisikan di interfes ListSelectionModel, Anda perlu menyertakan nama interfesnya ketika menggunakan konstanta tersebut sebagaimana penggalan kode program dibawah ini.

JList list = new JList(new String[] {“Buku 1”, “Buku 2”, “Buku 3”, “Buku 4”, “Buku 5”, “Buku 6”, “Buku 7”, “Buku 8”});
list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);

Menggunakan list selection model kelas JList

Gambar di atas adalah hasil visualisasi dengan memberi argumen berbeda berupa konstanta int ke metoda setSelectionMode. (a) menggunakan konstanta SINGLE_SELECTION yang hanya membolehkan pemilihan satu elemen. (b) menggunakan konstanta SINGLE_INTERVAL_SELECTION yang membolehkan pemilihan banyak elemen dengan syarat harus bersebelahan (contiguous). Anda perlu menekan dan menahan tombol keyboard SHIFT untuk mode ini. (c) menggunakan konstanta MULTIPLE_INTERVAL_SELECTION yang membolehkan pemilihan elemen dapat dilakukan tanpa ada batasan sama sekali (restriction).

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It