/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.yf.kp.utility;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
/**
*
* @author ASUS
*/
public class TableAutoColumnWidth {
public TableAutoColumnWidth(JTable table) {
autoColumn(table);
}
private void autoColumn(JTable t) {
//cara untuk menyesuaikan kolom dari tabel adalah mengambil
// lebar kolom yang ada kemudian sesuaikan
TableColumnModel tableColumnModel = t.getColumnModel();
for (int column = 0; column < tableColumnModel.getColumnCount(); column++) {
int columnWidthMax = 0;
for (int row = 0; row < t.getRowCount(); row++) {
TableCellRenderer tableCellRenderer = t.getCellRenderer(row, column);
Object tableValue = t.getValueAt(row, column);
Component component = tableCellRenderer.getTableCellRendererComponent(t, tableValue, false, false, row, column);
columnWidthMax = Math.max(component.getPreferredSize().width + 5, columnWidthMax);
}//akhir for baris
TableColumn tableColumn = tableColumnModel.getColumn(column);
tableColumn.setPreferredWidth(columnWidthMax + 5);
}//akhir for kolom
}
}