RFR: 8351047: TitledPane should handle titles that are resizable
John Hendrikx
jhendrikx at openjdk.org
Sat Mar 22 12:24:20 UTC 2025
This PR will forward more Label calculations to LabeledSkinBase, as they are quite complex, especially when a Graphic is involved which is a full-fledged `Node`. More specifically, this solves issues with TitledPane when the graphic is resizable (ie. an HBox is placed as Graphic in the titled pane's title area). Before, the calculations would only look at the preferred size of the graphic, and use these regardless of available space, even if the maximum size allowed for the graphic to be larger. After this fix, the more extensive LabeledSkinBase calculations are used.
This PR also simplifies the layout calculation. Instead of manually calculating where the label should be positioned (according to alignment), this is left to `layoutLabelInArea` which will do this automatically when its provided with the available space for the label instead of the label's width.
See the ticket for a sample program; take a look at the graphic-only case where an HBox is used to put a label + gap + button as the graphic of the titled pane.
-------------
Commit messages:
- Reuse calculations from LabeledSkinBase
Changes: https://git.openjdk.org/jfx/pull/1742/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1742&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8351047
Stats: 136 lines in 1 file changed: 40 ins; 87 del; 9 mod
Patch: https://git.openjdk.org/jfx/pull/1742.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1742/head:pull/1742
PR: https://git.openjdk.org/jfx/pull/1742
More information about the openjfx-dev
mailing list