Binding Data Pada jTable

Posted: Januari 25, 2009 in Java

Menggunakan VB atau C# dengan DataGrid-nya, seorang pemula tidak akan kesulitan untuk menampilkan data kedalam DataGrid, karena tinggal set property DataSource-nya saja, maka data akan ditampilkan, tetapi akan sangat berbeda jika menggunakan Java yang menyediakan jTable sebagai komponen penyaji data, karena sebelumnya kita harus tahu bagaimana konsep untuk menampilkan data kedalam jTable. Berikut adalah step-step yang bisa dilakukan untuk binding data ke jTable.

void bindTable(){
//step 1, deklarasi variable bertipe Vector
//mengapa Vertor dan bukan Array? karena vector fleksible, Array statis.
//---------------------------------------------------------
Vector cn = new Vector(); // variable untuk nama kolom
Vector row;// variable untuk satu baris data
Vector allRow = new Vector();// variable untuk semua baris data

//step 2, Memasukan nama-nama kolom kedalam objek cn
//---------------------------------------------------------
cn.addElement("NIM");
cn.addElement("Nama");
cn.addElement("IPK");

//step 3, masukan data-data
//---------------------------------------------------------
// masukan data kedua
row = new Vector();
row.addElement("980023");
row.addElement("Ketut Widi Astawan");
row.addElement(3.00);
allRow.addElement(row);

// masukan data kedua
row = new Vector();
row.addElement("980028");
row.addElement("Bayu Yulianto");
row.addElement(3.23);
allRow.addElement(row);

// masuka data ketiga
row = new Vector();
row.addElement("980017");
row.addElement("Sugeng Cahyono");
row.addElement(2.90);
allRow.addElement(row);

//step 4, buat objek tablemodel untuk model tabel
//---------------------------------------------------------
TableModel model =  new DefaultTableModel(allRow , cn);
// set model jtable
jTable1.setModel(model);

//step 5, modifikasi kolom jtable (jika diperlukan)
//---------------------------------------------------------
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
TableColumnModel tm = jTable1.getColumnModel(); // ambil kolom2 ke TableColumnModel

//modifikasi kolom NIM
renderer.setHorizontalAlignment(JLabel.CENTER); // modifikasi aligment
renderer.setBackground(Color.GREEN);
TableColumn tc = tm.getColumn(0); //
tc.setPreferredWidth(5);
tc.setCellRenderer(renderer);

//modifikasi kolom IPK
renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment(JLabel.RIGHT); // modifikasi aligment
renderer.setBackground(Color.GRAY);
tc = tm.getColumn(2); //
tc.setCellRenderer(renderer);
tc.setPreferredWidth(5);
}

Jika data-data adalah hasil dari eksekusi query, maka kita tinggal mengganti step3 dengan looping record pada ResultSet.

Contoh :

.....
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
row = new Vector();
row.addElement(rs.getObject("NIS"));
row.addElement(rs.getObject("nama"));
row.addElement(rs.getObject("IPK"));
allRow.addElement(row);
}

About these ads

Berikan Balasan

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s