On Tue, 25 Mar 2025 17:59:41 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> 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. > > modules/javafx.controls/src/main/java/javafx/scene/control/skin/TitledPaneSkin.java > line 514: > >> 512: */ >> 513: >> 514: double labelPrefWidth = >> TitledPaneSkin.super.computePrefWidth(height, 0, 0, 0, 0); > > On a related subject: trying to get the title label truncated (using the code > sample in the ticket) did not succeed even though the TitledPane is a Labeled: > > > TitledPane tp1 = new TitledPane("Left Aligned Title with a long long > title with ellipses set", ...); > tp1.setPrefWidth(100); > tp1.setMaxWidth(100); > tp1.setEllipsisString("..."); > > > This seems like a possible bug to me. What do you think? created https://bugs.openjdk.org/browse/JDK-8352991 ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1742#discussion_r2014856478