RFR: 8338145: ComboBox popup is in wrong location on first showing

Andy Goryachev angorya at openjdk.org
Tue Jan 20 18:46:42 UTC 2026


On Mon, 19 Jan 2026 11:37:20 GMT, Christopher Schnick <duke at openjdk.org> wrote:

> The resize method in the combo box skin does not take into account whether the popup was autofixed or not. This causes a wrong position if the content size is changed, which it often is on initial show.
> 
> If anyone has a better idea how to actually determine whether a popup was autofixed, then I can improve the check. Currently it relies purely on the popup position and the combo box position.
> 
> I tested this fix manually on Windows with a reproducer and it works as expected there

modules/javafx.controls/src/main/java/javafx/scene/control/skin/ComboBoxPopupControl.java line 490:

> 488:                 // The popup does not directly store information on whether it was autofixed
> 489:                 // We can determine this by looking whether it was moved upward
> 490:                 boolean wasAutofixed = popup.getY() < getSkinnable().localToScreen(0, 0).getY();

what does this mean?  the popup was auto-fixed, but incorrectly?
should we change the auto-fixing code instead then?

alternatively, is it possible that we should adjust the popup each time instead of adding the 'first' argument?

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/2044#discussion_r2709643894


More information about the openjfx-dev mailing list