//can set column widths using percentages
private void setPreferredTableColumnWidths(JTable table, double[] percentages)
{
Dimension tableDim = table.getSize();
double total = 0;
for(int i = 0; i < table.getColumnModel().getColumnCount(); i++)
total += percentages[i];
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
for(int i = 0; i < table.getColumnModel().getColumnCount(); i++)
{
TableColumn column = table.getColumnModel().getColumn(i);
column.setPreferredWidth((int) (tableDim.width * (percentages[i] / total)));
}
}
Я хочу иметь возможность изменять ширину JTable в процентах от общей ширины таблицы. Вышеприведенный код выглядит так, как будто он должен работать, но я получаю столбцы равной ширины только тогда, когда я вызываю его с помощью "setPreferredTableColumnWidths (table, new double [] {.01, .4, .2, .2, .2});"
В чем может быть проблема?