JList, JComboBox, JTable
Berikut ilustrasi penggunaan model pada Swing.
Jenis model yang digunakan pada JList, JComboBox, dan JTable adalah: Komponen JList JComboBox JTable
Model DefaultListModel DefaultComboBoxModel DefaultTableModel
Langkah-langkah praktikum yang perlu dilakukan untuk dapat menampilkan data dalam komponen adalah sebagai berikut: 1. 2. 3. 4. 5. 6.
Mempersiapkan komponen Melakukan import model Membuat objek model Memasukkan data ke model Mengeluarkan model ke komponen Operasi yang lain (hapus, tambah data, seleksi data, dll)
JList (DefaultListModel) 1.
Mempersiapkan komponen Persiapkan komponen List. Berikan variable name “tmpList”.
2.
Melakukan import model Untuk menggunakan DefaultListModel, kita perlu menuliskan import model. Tuliskan import model ini di baris code yang atas, di atas nama class.
Code import adalah sebagai berkut:
3.
Membuat objek dari DefaultListModel Sebagai contoh, nama objek yang dibuat adalah “model”.
4.
Memasukkan data ke model Untuk memasukkan data ke dalam model, kita menggunakan method addElement().
5.
Mengeluarkan model ke komponen Data yang sudah dimasukkan ke dalam model, selanjutnya akan ditampilkan menggunakan komponen List.
Hasil jika aplikasi dijalankan:
6. Operasi yang lain
Menambahkan data Cara menambahkan data ke dalam list dapat menggunakan method addElement(). Langkahnya: a. Mempersiapkan data yang akan dimasukkan b. Memasukkan ke dalam model c. Update data pada komponen list Contohnya jika kita ingin menambahkan data dari suatu JTextField adalah sebagai berikut: Tambahkan JTextField dan JButton untuk memasukkan data txtItem
tmpList
Berikan action listener pada tombol “TAMBAH DATA” dengan code-nya sebagai berikut:
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { //a. Mempersiapkan data yang ingin dimasukkan //Data yang dimasukkan berasal dari JTextField String getData = txtItem.getText(); //b. Memasukkan data ke dalam model model.addElement(getData); //c. Update data di list tmpList.setModel(model); }
Melakukan seleksi terhadap data Sebagai contoh pada gambar di atas, kita ingin menampilkan data yang kita klik (seleksi) dari dalam list. Langkahnya: a. b.
Mengambil data yang diseleksi/dipilih Menampilkan data yang dipilih Tambahkan komponen untuk menampilkan hasil seleksi
tmpList
tmpHasil
Pada tombol “Seleksi” berikan code: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //a. Mengambil data yang diseleksi/dipilih String getData = (String)tmpList.getSelectedValue(); //b. Menampilkan data yang dipilih pada JLabel tmpHasil.setText(getData); }
Hasil Uji Coba:
Menghapus data yang diseleksi Selanjutnya adalah bagaimana menghapus data yang sudah kita pilih dalam list. Sebagai contoh pada gambar di atas kita akan menghapus data “Selasa”. Langkahnya: a. Mencari index data dari item list yang kita pilih. Index data dimulai dari index 0. Sehingga pada gambar di atas, index 1 adalah “Senin”, index 2 adalah “Selasa”, dan index 3 adalah “Rabu”. b. Menghapus data pada index tersebut c. Update tampilan data pada list Tambahkan komponen tombol untuk menghapus data
tmpList
Pada tombol “Hapus Data” berikan code berikut: private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { //a. Mengambil index dari data yang dipilih int indeks = tmpList.getSelectedIndex(); //b. Menghapus data pada index tertentu dari model model.remove(indeks); //c. Update tampilan pada list tmpList.setModel(model); }
Hasil ujicoba:
-
Menghapus seluruh data Untuk menghapus seluruh data langkahnya adalah: a. Hapus seluruh data b. Update list Siapkan komponen tombol untuk menghapus seluruh data
tmpList
Berikan code pada tombol “Hapus Seluruh Data” private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { //a. Hapus seluruh data pada model model.removeAllElements(); //b. Update list tmpList.setModel(model); }
Hasil ujicoba:
--
JComboBox (DefaultComboBoxModel) 1.
Mempersiapkan komponen Berikan variable name untuk combo “tmpCombo”.
2.
Melakukan import model Untuk menggunakan DefaultComboBoxModel, kita perlu menuliskan import model. Tuliskan import model ini di baris code yang atas, di atas nama class. Lihat langah import untuk DefaultListModel di atas.
3.
Membuat objek model Sebagai contoh, nama objek yang dibuat adalah “model”.
4.
Memasukkan data ke model Untuk memasukkan data ke dalam ComboBox sama dengan List, yaitu menggunakan method addEmelent().
5.
Mengeluarkan model ke komponen Data yang sudah dimasukkan ke dalam model, selanjutnya akan ditampilkan menggunakan komponen ComboBox.
Untuk melihat perubahannya bisa kita lakukan Run File.
6.
Operasi yang lain (hapus, dll)
Menambahkan data Cara menambahkan data ke dalam ComboBox dapat menggunakan method addElement(). Langkahnya: a. Mempersiapkan data yang akan dimasukkan b. Memasukkan ke dalam model c. Update data pada komponen ComboBox Contohnya jika kita ingin menambahkan data dari suatu JTextField adalah sebagai berikut: Tambahkan JTextField dan JButton untuk memasukkan data
txtInputData tmpCombo
Berikan action listener pada tombol “Tambah Data” dengan code-nya sebagai berikut:
private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) { //Mengambil data yg dimasukkan dari JTextField String getData = txtInputData.getText(); //Memasukkan data ke dalam model model.addElement(getData); //Update/menampilkan data ke ComboBox tmpCombo.setModel(model); }
Aplikasi jika dijalankan:
Melakukan seleksi terhadap data Sebagai contoh pada gambar di atas, kita ingin menampilkan data yang kita klik (seleksi) dari dalam list. Langkahnya: a. Mengambil data yang diseleksi/dipilih b. Menampilkan data yang dipilih Tambahkan komponen untuk menampilkan hasil seleksi
tmpCombo tmpHasil
Pada tombol “Hasil Seleksi” berikan code: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //Mengambil data yang dipilih/seleksi String getData = tmpCombo.getSelectedItem().toString(); //Menampilkan data yang dipilih ke dalam JLabel tmpHasil.setText(getData); }
Aplikasi jika dijalankan
JTable (DefaultTableModel) 1.
Mempersiapkan komponen tabel Berikan variable name untuk tabel “tmpTabel”.
2.
Melakukan import model Untuk menggunakan DefaultTableModel, kita perlu menuliskan import model. Tuliskan import model ini di baris code yang atas, di atas nama class. Lihat langah import untuk DefaultListModel di atas.
3.
Mendeklarasikan objek model Sebagai contoh, nama objek yang dibuat adalah “model”.
4.
Memasukkan data ke model Untuk memasukkan data ke dalam tabel berbeda cara dengan memasukkan data ke List maupun ComboBox. Di sini tabel mempunya unsur judul kolom, dan data di tiap-tiap baris.
Jika pada langkah 3 kita masih mendeklarasikan objek “model”, pada langkah 4 ini objenya kita ciptakan dengan menambahkan properti data row, dan data kolom. 5.
Mengeluarkan model ke komponen Selanjutnya data yang sudah kita masukkan ke dalam model dikeluarkan ke dalam komponen tabel.
Hasil Pengujian:
6.
Operasi yang lain (hapus, selesksi data, tambah data)
Menambahkan data Tambahkan komponen input untuk menambahkan data ke dalam tabel.
tmpTabel
input1 input2
Pada tombol “Input” berikan code: private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { //Ambil data NIM dari kotak input String nim = input1.getText(); //Ambil data Nama dari kotak input String nama = input2.getText(); //Memasukkan data ke dalam model model.addRow(new Object[]{nim, nama}); //Menampilkan data ke dalam komponen tabel tmpTabel.setModel(model); }
Hasil ujicoba:
Menghapus data yang diseleksi Untuk menghapus baris yang diseleksi, kita harus mengetahui bahwa baris yang kita pilih adalah baris ke-berapa. Sebagai contoh gambar di atas, baris dengan nim “5678” itu adalah baris ke berapa. Tambahkan komponen untuk menghapus baris.
Pada tombol “Hapus Pilihan” berikan code:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //Mengetahui baris yang sedang diseleksi int getRow = tmpTabel.getSelectedRow(); //Menghapus data dari model model.removeRow(getRow); //Update data pada komponen tabel tmpTabel.setModel(model); }
Hasil ujicoba untuk menghapus data pada baris ke-dua:
LATIHAN
Buatlah program untuk melakukan transaksi pembelian pulsa elektrik dengan format tampilan sebagai berikut:
Ketentuan: 1.
Data Tanggal Bulan Tahun Provider
: : : :
1 s.d. 31 1 s.d. 12 2010 s.d. 2015 Telkomsel, XL, IM3, Mentari, Flexi, Esia, Smartfren, Axis, Ceria, 3, Besaran Pulsa : 5.000, 10.000, 20.000, 25.000, 50.000, 100.000
2.
Setelah dilakukan proses transaksi, maka data yang kita masukkan tadi akan ditampilkan pada tabel di bawahnya.