Tabel Model Java Swing

Kali ini, kita akan membahas tentang Tabel Model. Di mana kita akan mencoba mempelajari tentang penambahan data pada Tabel, tentunya dengan bahasa pemrograman JAVA :D. Sebelum kita mulai, persiapkan dulu NetBeans 6.5 sebagai IDE yang handal untuk mempermudah kita belajar JAVA. Oke…! Nah, setelah netbeans terbuka mari kita buat project baru jenis Java Application, biar seragam kita beri nama TabelModel.

Nah, setelah kita buat project, biar lebih tersusun rapi, kita buat sebuah paket baru, misalnya dengan nama TabelModel.Entitas. Di mana paket ini kita akan buat Class baru dengan nama Identitas.java. Class ini yang akan menjadi konstruktur untuk Tabel yang kita buat. Sebagai contoh berikut ini adalah sourcecode yang akan kita gunakan :

/*
 * Sourcecode berikut terbuka untuk umum
 * Semua orang diperkenankan memanfaatkan kode ini
 * Tanpa dipungut biaya apapun alias gratis
 * Akan tetapi segala resiko tanggung sendiri
 * Happy coding...
 */

package farazinux.tabelmodel.entitas;

/**
 *
 * @author farazinux
 */
public class Identitas {

    public String Id;
    public String Nama;
    public String Gender;
    public String Alamat;

    public String getAlamat() {
        return Alamat;
    }

    public void setAlamat(String Alamat) {
        this.Alamat = Alamat;
    }

    public String getGender() {
        return Gender;
    }

    public void setGender(String Gender) {
        this.Gender = Gender;
    }

    public String getId() {
        return Id;
    }

    public void setId(String Id) {
        this.Id = Id;
    }

    public String getNama() {
        return Nama;
    }

    public void setNama(String Nama) {
        this.Nama = Nama;
    }
    
}

Berikutnya kita akan membuat Model. Seperti biasa kita buat paket baru, dengan nama TabelModel.Model. Pada paket ini kita tambahkan sebuah class baru dengan nama TabelModelIdentitas.java kemudian kita buat permodelan sebagai berikut :

/*
 * Sourcecode berikut terbuka untuk umum
 * Semua orang diperkenankan memanfaatkan kode ini
 * Tanpa dipungut biaya apapun alias gratis
 * Akan tetapi segala resiko tanggung sendiri
 * Happy coding...
 */
package farazinux.tabelmodel.entitas.Model;

import farazinux.tabelmodel.entitas.Identitas;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author farazinux
 */
public class TabelModelIdentitas extends AbstractTableModel {
    
    // untuk menampung data yang akan dimasukkan ke dalam tabel

    public List<Identitas> list = new ArrayList<Identitas>();

    public void addIdentitas(Identitas identitas) {
        list.add(identitas);
        fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);
    }

    // menentukan jumlah baris 
    public int getRowCount() {
        return list.size();
    }

    // menentukan jumlah kolom 
    public int getColumnCount() {
        return 4; // sesuai dengan jumlah entitasnya
    }

    // menentukan isi baris 
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch (columnIndex) {
            case 0:
                return list.get(rowIndex).getId();
            case 1:
                return list.get(rowIndex).getNama();
            case 2:
                return list.get(rowIndex).getGender();
            case 3:
                return list.get(rowIndex).getAlamat();
            default:
                return null;
        }
    }

    // menentukan nama colom 
    @Override
    public String getColumnName(int column) {
        switch (column) {
            case 0:
                return ("ID");
            case 1:
                return ("Nama");
            case 2:
                return ("Gender");
            case 3:
                return ("Alamat");
            default:
                return null;
        }
    }
}

Nah, langkah berikutnya kita akan membuat view atau tampilan. 😀 Nah, bikin lagi paket baru dengan nama TabelModel.View. Kemudian kita akan membuat tampilan dengan menggunakan JFrame. Desainnya kurang lebih sebagai berikut :
TabelBefore

Nah, setelah desainnya selesai, perhatikan bagian tabel. Agar tabelnya menyesuaikan dengan permodelan yang telah kita buat tadi. Drag and Droplah Class TabelModelIdentitas.java pada area kosong sekitar JFrame yang kita buat dan kita rename seperti gambar di bawah ini :
Inspektor

Setelah itu atur property dari Tabel pada bagian Model. Sesuaikan seperti gambar di bawah ini :
PengaturanTabelModel

Sehingga tapilan menjadi seperti berikut ini :
TabelAfter

Nah, terakhir kita buat event untuk operasi Tabel yang telah kita buat. Agar lebih efisien dan dapat dipanggil pada event-event tertentu kita buat public void baru pada bagian code di JFrame seperti di bawah ini :

    public void tambah (){
        Identitas identitas = new Identitas();
        identitas.setId(txtID.getText());
        identitas.setNama(txtNama.getText());
        identitas.setGender(txtGender.getText());
        identitas.setAlamat(txtAlamat.getText());
        ModelTabel.addIdentitas(identitas);
    }

Sehingga pada action button dapat kita panggil dengan code sebagai berikut :

private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {                                          
        tambah();
    }

Akhirnya selesai sudah… tinggal running JFrame yang kita buat. Akhirnya bisa berjalan dengan baik…. Nah… kalau pusing membaca… pengen video tutorialnya dapat mencarinya di blognya mas Eecchhoo pada postingan tentang tabel model.

Iklan

5 comments on “Tabel Model Java Swing

  1. firdaus :
    untuk method fireTableRowsInserted() kok g ada, sedangkan kalau dibiarkan kosongkan g akan jalan programnya.

    maaf ternyata program yang saya tulis ada yang kurang, dan program yang diatas sudah benar apa adanya

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s