Calling `DefaultTableModel.setColumnIdentifiers()` resizes the row height of 
the table to default row height (16) even if the row height is changed to 
something other than the default using J`Table.setRowHeight(row, height). `
The spec of `DefaultTableModel.setColumnIdentifiers()` 
https://docs.oracle.com/en/java/javase/24/docs/api/java.desktop/javax/swing/table/DefaultTableModel.html#setColumnIdentifiers(java.lang.Object[])
 says that it
`replaces the column identifiers in the model`, that is, the header field of 
the column is changed to the passed identifier and nowhere it is mentioned that 
row height would be changed.

The issue happens because calling `DefaultTableModel.setColumnIdentifiers()` 
results in the firing of a `TableModelEvent` with HEADER_ROW event and JTable 
resets the `rowModel` for it irrespective of what the event is.
Fix is to not reset the `rowModel` to keep the set rowHeight intact for 
HEADER_ROW event

No other issue observed with CI with this fix..

-------------

Commit messages:
 - jcheck
 - JDK-6292135:DefaultTableModel.setColumnIdentifiers() Clears JTable Row 
Heights

Changes: https://git.openjdk.org/jdk/pull/28529/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28529&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-6292135
  Stats: 101 lines in 2 files changed: 99 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/28529.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28529/head:pull/28529

PR: https://git.openjdk.org/jdk/pull/28529

Reply via email to