Я хочу добавить некоторые столбцы в таблицу (Swing JTable). Некоторые из них будут иметь размер по умолчанию (например, 250), другие будут скрыты (поэтому их размер будет равен 0). Я использую этот код:
model = new DefaultTableModel();
table = new JTable(model);
setAutoResizeMode(AUTO_RESIZE_OFF);
for (int i = 1; i < COLUMN_NAMES.length; i++) {
model.addColumn(COLUMN_NAMES[i]);
if (show[i]) show(index);
else hide(index);
}
........
private void hide(int index) {
TableColumn column = getColumnModel().getColumn(index);
column.setMinWidth(0);
column.setMaxWidth(0);
column.setWidth(0);
column.setPreferredWidth(0);
doLayout();
}
private void show(int index) {
final int width = 250;
column.setMinWidth(15);
column.setMaxWidth(width);
column.setWidth(width);
column.setPreferredWidth(width);
doLayout();
}
проблема заключается в том, когда отображается таблица, отображаются все столбцы (ни один не скрыт), а их размер не 250, но они имеют одинаковый размер.
Как я могу получить желаемый эффект?