Here you can find the source of FitTableColumns(JTable myTable)
public static void FitTableColumns(JTable myTable)
//package com.java2s; //License from project: Apache License import java.util.Enumeration; import javax.swing.JTable; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; public class Main { public static void FitTableColumns(JTable myTable) { JTableHeader header = myTable.getTableHeader(); int rowCount = myTable.getRowCount(); Enumeration columns = myTable.getColumnModel().getColumns(); while (columns.hasMoreElements()) { TableColumn column = (TableColumn) columns.nextElement(); int col = header.getColumnModel().getColumnIndex(column.getIdentifier()); int width = (int) myTable.getTableHeader().getDefaultRenderer() .getTableCellRendererComponent(myTable, column.getIdentifier(), false, false, -1, col) .getPreferredSize().getWidth(); for (int row = 0; row < rowCount; row++) { int preferedWidth = (int) myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable, myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth(); width = Math.max(width, preferedWidth); }/* w w w .j a v a2s.co m*/ header.setResizingColumn(column); column.setWidth(width + myTable.getIntercellSpacing().width); } } }