Membuat Class Auto Resize (Penyesuaian Ukuran) Untuk Menyesuaikan Kolom Pada Jtable
Postingan ini bersama-sama sudah pernah di posting di blog lama, postingan ini membahas bagaimana cara mengatur lebar kolom pada JTable secara otomatis.
Seperti yang sudah diketahui, kebanyakan programer java mengalami kesulitan dalam menangani output data terutama yang terdapat dalam JTable, hal ini dikarenakan kita harus mengatur lebar kolom secara manual biar data yang ditampilkan sanggup terlihat dengan baik (Karena secara otomatis java akan menunjukkan lebar yang sama untuk setiap kolom).
Namun pekerjaan ini bukan pekerjaan yang mudah, mengingat biasanya jumlah table dalam aplikasi biasanya sangat banyak. Oleh alasannya yaitu itu aku menciptakan sebuah Class yang sanggup dipakai untuk mengatur lebar kolom JTable secara otomatis (lebar kolom akan menyesuaikan dengan isi pada kolom). Berikut isyarat Class AutoResizeTable.java:
Males Copy Paste? hehe hening download saja file projectnya. (Dibuat memakai Netbeans 7.2) Download File
Seperti yang sudah diketahui, kebanyakan programer java mengalami kesulitan dalam menangani output data terutama yang terdapat dalam JTable, hal ini dikarenakan kita harus mengatur lebar kolom secara manual biar data yang ditampilkan sanggup terlihat dengan baik (Karena secara otomatis java akan menunjukkan lebar yang sama untuk setiap kolom).
Namun pekerjaan ini bukan pekerjaan yang mudah, mengingat biasanya jumlah table dalam aplikasi biasanya sangat banyak. Oleh alasannya yaitu itu aku menciptakan sebuah Class yang sanggup dipakai untuk mengatur lebar kolom JTable secara otomatis (lebar kolom akan menyesuaikan dengan isi pada kolom). Berikut isyarat Class AutoResizeTable.java:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javadanphp.blogspot; import java.awt.Component; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; /** * * @author Taopik Ridwan */ class AutoResizeTable { public void sesuaikanKolom(JTable t) { //cara untuk menyesuaikan kolom dari tabel yaitu mengambil // lebar kolom yang ada lalu sesuaikan TableColumnModel modelKolom = t.getColumnModel(); for (int kol = 0; kol < modelKolom.getColumnCount(); kol++) { int lebarKolomMax = 0; for (int baris = 0; baris < t.getRowCount(); 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 } }Cara Menggunakan Untuk memakai Class diatas sangat mudah, berikut pola penggunaanya:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javadanphp.blogspot; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ScrollPaneConstants; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.table.DefaultTableModel; /** * * @author Taopik Ridwan */ public class Demo { private JTable tabel; private String[] judulKolom = {"No", "Nama Blog", "Alamat Blog"}; private Object[][] isiTabel = { {new Integer(1), "Southeast Asia Tourism Spot", "http://moresoutheastasia.blogspot.com/"}, {new Integer(2), "How To Fix", "http://howto-fix-things.blogspot.com/"}, {new Integer(3), "Ikut membuatkan tutorial Java dan PHP", "http://javadanphp.blogspot.com/"}, {new Integer(4), "Kilau Mutiara dari perairan Lombok", "http://kilaumutiaralombok.blogspot.com/"}, {new Integer(5), "Pusat Kerajinan Akar Wangi Terbaik, unik, variatif", "http://garutakarwangi.blogspot.com/"} }; public void runDemo() { DefaultTableModel model = new DefaultTableModel(isiTabel, judulKolom); tabel = new JTable(model); JScrollPane pane = new JScrollPane(tabel, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); javax.swing.SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new AutoResizeTable().sesuaikanKolom(tabel); tabel.revalidate(); } }); JFrame app = new JFrame("Demo Menyesuaikan Lebar Kolom"); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); app.getContentPane().add(pane); app.setSize(600, 200); app.setLocationRelativeTo(null); app.setVisible(true); } /** * @param args the command line arguments */ public static void main(String[] args) { try { javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { } javax.swing.SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new Demo().runDemo(); } }); } }Ini Hasilnya:
Males Copy Paste? hehe hening download saja file projectnya. (Dibuat memakai Netbeans 7.2) Download File
Belum ada Komentar untuk "Membuat Class Auto Resize (Penyesuaian Ukuran) Untuk Menyesuaikan Kolom Pada Jtable"
Posting Komentar