int (int columnIdx) { TableColumn column = getColumnModel().getColumn(columnIdx); TableCellRenderer renderer = column.getHeaderRenderer(); if (renderer == null) { JTableHeader header = getTableHeader(); if (header == null) { return DEFAULT_MIN_COLUMN_WIDTH; } renderer = header.getDefaultRenderer(); } Object headerValue = column.getHeaderValue(); Component headerCellRenderer = renderer.getTableCellRendererComponent(this, headerValue, false, false, -1, columnIdx); return headerCellRenderer.getPreferredSize().width; }