Bug: ToolBar always using overflow menu whenever a scaled resolution set
Kevin Rushforth
kevin.rushforth at oracle.com
Thu Jul 24 15:10:49 UTC 2025
https://bugs.openjdk.org/browse/JDK-8364049
On 7/24/2025 7:15 AM, Kevin Rushforth wrote:
> This does look like a real bug. Thanks for filing it.
>
>> Unfortunately one cannot attach screenshots on JBS submissions, so a
>> text description will have to do.
>
> I have attached the two images to the bug. It will show up publicly,
> with a JDK bug ID, soon.
>
> -- Kevin
>
>
> On 7/23/2025 3:17 PM, Cormac Redmond wrote:
>> I've a habit of finding non-bugs, so prefer to discuss it first to
>> get some feedback (and/or to avoid duplicating known bugs), but I
>> assume this is definitely an issue, so I created it on JBS now:
>> 9078765...
>>
>> Unfortunately one cannot attach screenshots on JBS submissions, so a
>> text description will have to do.
>>
>> Thanks!
>>
>>
>> Kind Regards,
>> Cormac
>>
>> On Wed, 23 Jul 2025 at 20:30, Andy Goryachev
>> <andy.goryachev at oracle.com> wrote:
>>
>> Do we have the JBS ticket filed for this issue?
>>
>> -andy
>>
>> *From: *openjfx-dev <openjfx-dev-retn at openjdk.org> on behalf of
>> Cormac Redmond <credmond at certak.com>
>> *Date: *Tuesday, July 22, 2025 at 12:08
>> *To: *openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
>> *Subject: *Re: Bug: ToolBar always using overflow menu whenever a
>> scaled resolution set
>>
>> Any thoughts on this? It seems like a definite JavaFX bug with
>> hopefully a simple fix. Choosing any fractional scaled resolution
>> may or may not cause the issue. I also wonder what other controls
>> may suffer from the same issues.
>>
>> On Sat 19 Jul 2025, 19:01 Cormac Redmond, <credmond at certak.com>
>> wrote:
>>
>> Hi,
>>
>> I've traced the bug down to a rounding error. See the below
>> screenshot in ToolBarSkin's getOverflowNodeIndex(double length).
>>
>> These two numbers are not equal, but should be. snapSizeX()
>> ultimately ends up grabbing getSnapScaleX(), whose value
>> would be 1.25. If it's 1 (i.e., no scaling), we don't see
>> this issue. If it's 1.25, we see this rounding difference
>> between the two numbers in this instance. If these two
>> numbers are not equal, the calling code mistakenly assumes
>> the overflow box is necessary.
>>
>> Can someone fix this?
>>
>> Kind Regards,
>>
>> Cormac
>>
>> On Sat, 19 Jul 2025 at 18:33, Cormac Redmond
>> <credmond at certak.com> wrote:
>>
>> Confusingly, make the string longer, such as "Create
>> Schema 123 123 123":
>>
>> bp.setTop(new HBox(new ToolBar(new Button("Create Schema
>> 123 123 123"))));
>>
>> ...and the overflow doesn't appear (but still, anything
>> between and including 13-24, it does):
>>
>> Kind Regards,
>>
>> Cormac
>>
>> On Sat, 19 Jul 2025 at 11:12, Cormac Redmond
>> <credmond at certak.com> wrote:
>>
>> Hi,
>>
>> There's a bug whenever using a ToolBar on Windows if
>> you set your resolution scale > 100% (which is quite
>> common). E.g., 125%:
>>
>> E.g., this is what a ToolBar always renders if scale
>> is 125%:
>>
>> As compared to what you'd expect (scale set to
>> normal/100%):
>>
>> Very easy to reproduce the above, set your scale to
>> 125% and run this:
>>
>> public class ToolbarBugApp extends Application {
>>
>>
>> @Override
>> public void start(Stage primaryStage) {
>> BorderPane bp = new BorderPane();
>> // Wrapping in HBox and using button with 13+
>> chars causes bug
>> bp.setTop(new HBox(new ToolBar(new
>> Button("Create Schema")))); // BUG
>> // bp.setTop(new ToolBar(new Button("Create
>> Schema"))); // NO BUG(no HBox)
>> // bp.setTop(new HBox(new ToolBar(new
>> Button("Create Schem")))); // NO BUG(12 chars)
>> primaryStage.setScene(new Scene(bp, 600, 400));
>> primaryStage.show();
>> }
>>
>> public static void main(String[] args) {
>> launch(args);
>> }
>> }
>>
>> As per the comments, this bug appears to happen when
>> your ToolBar is wrapped in a HBox and contains a
>> Button that has 13+ characters, for example. This is
>> quite a serious bug, in my opinion.
>>
>> I believe this is present in JFX 24 and the JFX 25
>> master branch.
>>
>> Kind Regards,
>>
>> *Cormac Redmond*
>>
>> Software Engineer, Certak Ltd.
>>
>> e: credmond at certak.com | m: +353 (0) 86 268 2152 | w:
>> www.certak.com <http://www.certak.com>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250724/ee679d6d/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 177920 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250724/ee679d6d/image-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 5287 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250724/ee679d6d/image-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 14011 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250724/ee679d6d/image-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6945 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250724/ee679d6d/image-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6634 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250724/ee679d6d/image-0009.png>
More information about the openjfx-dev
mailing list