Pemrograman Java GUI Menampilkan Data dengan JTable

desain-gui-input-mahasiswa

Pemrograman Java GUI menampilkan data dengan JTable dapat dilakukan dengan mudah secara bertahap, mulai dari pemilihan komponen hinggga pemrosesannya. Pada contoh pemrograman java menggunakan GUI kali ini akan dibagi menjadi input, proses, dan output. Input digunakan untuk menerima input data mahasiswa, yang terdiri dari NIM, Nama, Jenis Kelamin, Nomor HP, Agama, dan Status. Dimungkinkan ada proses Tambah dan Hapus. Jika diklik tombol Tambah maka data berpindah ke Tabel. Jika diklik tombol Hapus maka semua data di tabel dihapus.

Untuk input akan menggunakan komponen dari javax.swing yaitu JLabel, JTextField, JRadioButton, JCheckBox, dan JComboBox. Untuk proses akan menggunakan JButton. Selanjutnya hasil output akan ditampilkan pada JTable.

Untuk input berupa JTextField terdiri dari txtNIM, txtNama, dan txtHP. Untuk input JRadioButton terdiri dari rdLaki dan dan rdPerempuan yang dibuat dalam satu ButtonGroup buttonGroup1. Input JCheckBox digunakan untuk Status. Input JComboBox digunakan untuk memilih Agama. Sementara untuk proses terdiri dari JButton btnTambah dan btnHapus. Output menggunakan JTable yang diberi nama tabelMhs.

Desain tampilan kurang lebih sebagai berikut:

desain-gui-input-mahasiswa

Isian pilihan dari JComboBox dapat diisi menggunakan coding pada event formWindowActivated dengan cara sebagai berikut, klik kanan pada form.

set-gui-ScreenWindowActivated

Lalu isikan dengan kode berikut ini:

cbxAgama.removeAllItems();
cbxAgama.addItem("====pilih====");
cbxAgama.addItem("Islam");
cbxAgama.addItem("Kristen");
cbxAgama.addItem("Katolik");
cbxAgama.addItem("Hindu");
cbxAgama.addItem("Budha");
cbxAgama.addItem("Konghucu");

Pada proses Tambah, nilai dari NIM, Nama, dan Nomor HP diambil dari JTextField dengan menggunakan getText() dan disimpan dalam variabel bertipe String ls_nim, ls_nama, dan ls_HP. Nilai dari Jenis Kelamin diambil dari JRadioButton dengan menggunakan getText() setelah diseleksi pilihannya dengan menggunakan isSelected(). Nilai Agama dipilih dari JComboBox dengan menggunakan getSelectedItem().toString().

   
        String ls_nim = txtNIM.getText();
        String ls_nama = txtNama.getText();
        String ls_jk="";
        if(rdLaki.isSelected()){
            ls_jk = rdLaki.getText();
        }
        else if(rdPerempuan.isSelected()){
            ls_jk = rdPerempuan.getText();
        }
        String ls_HP = txtHP.getText();
        String ls_agama = cbxAgama.getSelectedItem().toString();        
        String ls_status="";
        if (cbStatus.isSelected()){
            ls_status="Aktif";
        }else{
            ls_status="Tidak Aktif";
        }

Selanjutnya dibuat Object untuk menampung data tersebut yang ukurannya sesuai dengan jumlah data. Pada contoh ini object berisi 6 elemen, yaitu NIM, Nama, Jenis Kelamin, Nomor HP, Agama, dan Status. lalu dibuat model mengacu ke JTable yang telah dibuat yaitu tabelMhs. Selanjutnya object ditambahkan ke tabel dengan menggunakan addRow().

mod = (DefaultTableModel) tabelMhs.getModel();
Object[] data = new Object[6];
data[0]=ls_nim;
data[1]=ls_nama;
data[2]=ls_jk;
data[3]=ls_HP;
data[4]=ls_agama;        
data[5]=ls_status;
mod.addRow(data);

Berikut adalah tampilan saat data ditambahkan:

hasil-gui-ScreenInputDataMhs
Pada proses Hapus, dilakukan perulangan semua elemen model. Lalu dilakukan penghapusan data dengan menggunakan removeRow().

for( int i = mod.getRowCount() - 1; i >= 0; i-- )
{
mod = (DefaultTableModel) tabelMhs.getModel();
mod.removeRow(i);
}

Berikut adalah tampilan saat data dihapus:

hasil-gui-ScreenHapusDataMhs
Source selengkapnya dapat diambil di sini.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.