<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Hi,</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I've traced the bug down to a rounding error. See the below screenshot in ToolBarSkin's getOverflowNodeIndex(double length).</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">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.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><img src="cid:ii_mdajteh84" alt="image.png" style="margin-right: 0px;" width="562" height="304"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Can someone fix this?</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Kind Regards,</div><div class="gmail_default" style="font-family:verdana,sans-serif">Cormac</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, 19 Jul 2025 at 18:33, Cormac Redmond <<a href="mailto:credmond@certak.com">credmond@certak.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Confusingly, make the string longer, such as "Create Schema 123 123 123":</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"> bp.setTop(new HBox(new ToolBar(new Button("Create Schema 123 123 123"))));<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">...and the overflow doesn't appear (but still, anything between and including 13-24, it does):</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><img src="cid:ii_mdaiye703" alt="image.png" width="562" height="187"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Kind Regards,</div><div class="gmail_default" style="font-family:verdana,sans-serif">Cormac</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 19 Jul 2025 at 11:12, Cormac Redmond <<a href="mailto:credmond@certak.com" target="_blank">credmond@certak.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif">Hi,</font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif">There's a bug whenever using a ToolBar on Windows if you set your resolution scale > 100% (which is quite common). E.g., 125%:</font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif"><img src="cid:ii_mda2w6ew0" alt="image.png" width="562" height="59"><br></font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif"><br></font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif">E.g., this is what a ToolBar always renders if scale is 125%:</font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif"><br></font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif"><img src="cid:ii_mda2y4u71" alt="image.png" width="562" height="375"><br></font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif"><br></font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif">As compared to what you'd expect (scale set to normal/100%):</font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif"><br></font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><font face="verdana, sans-serif"><img src="cid:ii_mda306hd2" alt="image.png" width="562" height="375"><br></font></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="font-family:verdana,sans-serif;color:rgb(34,34,34)">Very easy to reproduce the above, set your scale to 125% and run this:</span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif"><br></font></span></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif">public class ToolbarBugApp extends Application {</font></span></div><font face="verdana, sans-serif"><br> @Override<br> public void start(Stage primaryStage) {<br> BorderPane bp = new BorderPane();<br> // Wrapping in HBox and using button with 13+ chars <span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"></span>c<span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">auses </span>bug<br> bp.setTop(new HBox(new ToolBar(new Button("Create Schema")))); // BUG<br> // bp.setTop(new ToolBar(new Button("Create Schema"))); // NO BUG<span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> (no HBox)</span><br> // bp.setTop(new HBox(new ToolBar(new Button("Create Schem")))); // NO BUG<span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> (12 chars)</span><br> primaryStage.setScene(new Scene(bp, 600, 400));<br> primaryStage.show();<br> }<br><br> public static void main(String[] args) {<br> launch(args);<br> }<br>}<br clear="all"></font></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><font color="#000000" face="verdana, sans-serif"><br></font></div><div><div class="gmail_default" style="color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif">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.</font></span></div><div class="gmail_default" style="color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif"><br></font></span></div><div class="gmail_default" style="color:rgb(0,0,0)"><span style="color:rgb(34,34,34)"><font face="verdana, sans-serif">I believe this is present in JFX 24 and the JFX 25 master branch.</font></span></div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font color="#000000" face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">Kind </span>Regards,</font></div><div><font color="#000000" face="verdana, sans-serif"><b><br></b></font></div><font color="#000000" face="verdana, sans-serif"><b>Cormac Redmond</b></font><div><font color="#000000" face="verdana, sans-serif">Software Engineer, Certak Ltd.</font></div><div><font color="#000000" face="verdana, sans-serif"><b><br></b></font></div><div><font face="verdana, sans-serif" size="2">e: <a href="mailto:credmond@certak.com" target="_blank">credmond@certak.com</a> | m: +353 (0) 86 268 2152 | w: <a href="http://www.certak.com" target="_blank">www.certak.com</a></font></div><div><font face="verdana, sans-serif"><br></font></div><div><br></div></div></div></div></div>
</blockquote></div>
</blockquote></div>