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

Marius Hanl mhanl at openjdk.org
Wed Mar 20 11:50:47 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._
> **EDIT: Found out the cause and fixed it. I will check if I can write more tests since it works now. :)**
> 
> 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).

Marius Hanl has updated the pull request incrementally with three additional commits since the last revision:

 - JDK-8186188: prefWidth(-1) for TreeTableView as well
 - JDK-8186188: fix tests by considering the system font (was always mixed with Amble)
 - JDK-8186188: Use label prefWidth(-1) instead of manually calculating the width

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1405/files
  - new: https://git.openjdk.org/jfx/pull/1405/files/63a74adc..a8d26a24

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1405&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1405&range=00-01

  Stats: 46 lines in 4 files changed: 16 ins; 15 del; 15 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