RFR: JDK-8186188: TableColumHeader: initial auto-size broken if has graphic

Marius Hanl mhanl at openjdk.org
Sat Mar 16 22:30:30 UTC 2024


This PR fixes the issue that the initial column autosizing is wrong under some circumstances.
The following things will break the initial autosizing:
- Bold Column text (that is where I initially found this problem)
- Another font / font size
- Graphic

The reason is actually quite simple: The CSS is not (yet) applied initially, we therefore ALWAYS take the default font into account + the graphic is not yet layouted as well.

It was not so easy to write tests for this, also for me the `test_resizeColumnToFitContentHeader` is always failing locally. I don't know what happens here, but he seems to not find a (Stub?) `Font` for me.

The test I wrote now is checking if the css is applied after we triggered the autosize, which is what we would expect here since we measure text.

I also copied the `TableColumnHeaderTest` and rewrote the tests for `TreeTableView` as well, so we can catch any errors here as well since they both use different code (although it is technically the same - C&P errors can happen very easy).

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

Commit messages:
 - JDK-8186188: TableColumHeader: initial auto-size broken if has graphic

Changes: https://git.openjdk.org/jfx/pull/1405/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1405&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8186188
  Stats: 372 lines in 4 files changed: 369 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jfx/pull/1405.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1405/head:pull/1405

PR: https://git.openjdk.org/jfx/pull/1405


More information about the openjfx-dev mailing list