У меня есть JTable, что имя столбца изменится. После изменения имени столбца -
table.getColumnModel().getColumn(tp.ccol).setHeaderValue(newName);
model.fireTableStructureChanged() // Does not matter if I call this or not
пользовательский рендер, который я установил для столбца (0) -
table.getColumnModel().getColumn(0).setCellRenderer(model);
, полностью игнорируется, и таблица перерисовывается с использованием значения по умолчанию рендер для этого столбца.
Я должен сбросить всю информацию столбца -
getColumnModel().getColumn(0).setCellRenderer(model);
getColumnModel().getColumn(0).setResizable(false);
getColumnModel().getColumn(0).setMaxWidth(40);
Затем вызвать
model.fireTableDataChanged();
, чтобы столбец 0 отображался правильно. Есть ли способ обойти это или это, как это должно работать? Это очень много для go, хотя для изменения имени столбца, и таблица перерисовывается как минимум дважды. Если бы я использовал кучу различных пользовательских средств визуализации, это было бы грязно.
Спасибо!