void () { ColumnInfo[] columns = ((ListTreeTableModelOnColumns)getTableModel()).getColumns(); for (int i = 0; i < columns.length; i++) { ColumnInfo columnInfo = columns[i]; TableColumn column = getColumnModel().getColumn(i); if (columnInfo.getWidth(this) > 0) { int width = columnInfo.getWidth(this); column.setMaxWidth(width); column.setMinWidth(width); } else { final String preferredValue = columnInfo.getPreferredStringValue(); if (preferredValue != null) { int width = getFontMetrics(getFont()).stringWidth(preferredValue) + columnInfo.getAdditionalWidth(); column.setPreferredWidth(width); } } } }