Here you can find the source of calculateColumnWidth(JTable table, int columnIndex)
Parameter | Description |
---|---|
table | JTable |
columnIndex | column index |
public static int calculateColumnWidth(JTable table, int columnIndex)
//package com.java2s; /** (C) Copyright 1998-2004 Hewlett-Packard Development Company, LP /*from w ww. j a va 2s.c o m*/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more information: www.smartfrog.org */ import java.awt.Component; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; public class Main { /** *Calculates the required width of a table column * *@param table JTable *@param columnIndex column index *@return width of the column */ public static int calculateColumnWidth(JTable table, int columnIndex) { int width = 0; // The return value int rowCount = table.getRowCount(); // Header width TableCellRenderer renderer = table.getTableHeader().getDefaultRenderer(); Component comp = renderer.getTableCellRendererComponent(table, table.getColumnName(columnIndex), false, false, 0, columnIndex); width = comp.getPreferredSize().width; // Cells width for (int i = 0; i < rowCount; i++) { renderer = table.getCellRenderer(i, columnIndex); comp = renderer.getTableCellRendererComponent(table, table.getValueAt(i, columnIndex), false, false, i, columnIndex); int thisWidth = comp.getPreferredSize().width; if (thisWidth > width) { width = thisWidth; } } return width; } }