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

Marius Hanl mhanl at openjdk.org
Wed Mar 27 23:02:41 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 with a new target base due to a merge or a rebase. The pull request now contains eight commits:

 - Merge branch 'master' of https://github.com/openjdk/jfx into JDK-8186188-tc-init-size
   
   # Conflicts:
   #	modules/javafx.graphics/src/test/java/test/com/sun/javafx/pgstub/StubFontLoader.java
 - JDK-8186188: copyright
 - JDK-8186188: fix tests
 - JDK-8186188: add more tests, fix existing tests which were failing as the font is now always there
 - 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
 - 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=04
  Stats: 501 lines in 4 files changed: 489 ins; 4 del; 8 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