Java JTable Column Width Set setColumnWidths(JTable p_Table, int[] p_ColumnWidths)

Here you can find the source of setColumnWidths(JTable p_Table, int[] p_ColumnWidths)

Description

set Column Widths

License

Open Source License

Declaration

public static void setColumnWidths(JTable p_Table, int[] p_ColumnWidths) 

Method Source Code

//package com.java2s;
//License from project: Open Source License 

import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;

import javax.swing.table.TableColumnModel;

public class Main {
    public static void setColumnWidths(JTable p_Table, int[] p_ColumnWidths) {
        TableColumnModel columns = p_Table.getTableHeader().getColumnModel();
        // when restoring from the prefs with a new version of the product,
        // then it is possible that: p_ColumnWidths.length !=
        // columns.getColumnCount()
        if (p_ColumnWidths == null || p_ColumnWidths.length != columns.getColumnCount()) {
            return;
        }//w w w.j  a  va 2s.c om

        for (int i = 0, c = columns.getColumnCount(); i < c; i++) {
            columns.getColumn(i).setPreferredWidth(p_ColumnWidths[i]);
        }

        p_Table.getTableHeader().resizeAndRepaint();

        JScrollPane scrollpane = findScrollPane(p_Table);
        if (scrollpane != null) {
            scrollpane.invalidate();
        }

        p_Table.invalidate();
    }

    public static JScrollPane findScrollPane(JTable p_Table) {
        return (JScrollPane) SwingUtilities.getAncestorOfClass(JScrollPane.class, p_Table);
    }
}

Related

  1. setColumnWidth(JTable table, int columnIndex, int preferredWidth)
  2. setColumnWidth(JTable table, int columnNumber, int width)
  3. setColumnWidth(JTable table, int... width)
  4. setColumnWidth(JTable table, int[] colWidth)
  5. setColumnWidths(int[] preferredColWidths, int[] maxColWidths, int[] minColWidths, TableColumnModel columnModel, boolean[] columnsShowing)
  6. setColumnWidths(JTable table, Insets insets, boolean setMinimum, boolean setMaximum)
  7. setColumnWidths(JTable table, Insets insets, boolean setMinimum, boolean setMaximum)
  8. setDefaultColumnWidth(JTable table, int column)
  9. setMaxnimumColumnWidths(final JTable table, final int... widths)