Cara Gampang Menyesuaikan Lebar Kolom Jtable-Swing

33 views
Apa yang paling menyebalkan dikala menciptakan Tabel di Java? Yup menyesuaikan lebar kolom. Secata default, java akan membagi rata lebar tabel dengan jumlah kolom yang ada. Misalnya, terdapat 5 kolom maka lebar setiap kolom akan menjadi 20% dari keseluruhan lebar kolom.

Sebenarnya, Kita sanggup memakai method:
setPreferredWidth(lebar_kolom);

Untuk menyesuaikan kolom, tapi lalu semua ini akan terasa menyebalkan ketika kita harus mengatur lebar kolom satu per satu untuk setiap kolomnya. Bayangkan jikalau kita memiliki 10 tabel dengan banyak kolom didalamnya, yup akan terasa menjengkelkan.

Kenapa tidak kita buat saja class yang sanggup mengatur lebar kolom yang otomatis menyesuaikan dengan lebar isi??.

Ok, idenya kayak gini:

Kita akan buat sebuah class yang nantinya class ini akan memiliki behaviour berikut:

  1. Menghitung jumlah kolom yang ada, dengan mengambil model kolom dengan method getColumnModel();
  2. Class ini akan menghitung lebar maksimal dari isi tabel di tiap kolom, lalu menjadiknnya sebagai lebar kolom. Misal untuk tabel diatas, class akan mencari isi tabel paling panjang untuk kolom nama, lalu sesudah selesai, maka class akan menjadikannya sebagai lebar dari kolom nama.

Ok, kini kita mulai.Pertama, buat sebuah class (namanya terserah), lalu buat sebuah method di dalamnya,

public void buatKolomSesuai(JTable t){
// isi kolom
}

Kedua, ambil model kolom dari tabel
TableColumnModel modelKolom=t.getColumnModel();

Ketiga, Cari lebar maksimam dari tiap kolom, dan jadikan sebagai lebar kolom dengan method setPreferredWidth(lebar_kolom);

for(int kol=0; kol <>

int lebarKolomMax=0;
for(int baris=0;baris

TableCellRenderer rend=t.getCellRenderer(baris,kol);
Object nilaiTablel=t.getValueAt(baris,kol);
Component comp=rend.getTableCellRendererComponent(t,nilaiTablel,false,false,baris,kol);
lebarKolomMax=Math.max(comp.getPreferredSize().width,lebarKolomMax);
}//akhir for baris
TableColumn kolom=modelKolom.getColumn(kol);
kolom.setPreferredWidth(lebarKolomMax);
}//akhir for kolom
}

Yup, tiga langkah sederhana untuk menciptakan tabel, dengan lebar kolom yang sudah di sesuaikan.

Berhasil gak neh?

Kita buktikan:
Buat sebuah class untuk menampilkan sebuah tabel. (yang punya Netbeans, pake aja, semoga gak pusing bikin tabelnya :)).

Buat sebuah tabel trus isi deh tabelnya dengan data yang temen-temen inginkan. Yup, sesudah tabelnya di instansiasi lalu implementasikan classnya:Nih code lengkapnya:

Jreng-jreng……………………… hasilnya:

Selamat mencoba …………………………….. and keep trying.

Author: 
    author
    No related post!