RFR: 8371859: Dialog unnecessarily invokes DialogPane.requestLayout()

John Hendrikx jhendrikx at openjdk.org
Thu Nov 13 22:33:38 UTC 2025


On Thu, 13 Nov 2025 21:24:25 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

> The implementation of `Dialog.dialogPane` adds a `ListChangeListener` to `DialogPane.getButtonTypes()`, and calls `DialogPane.requestLayout()` from the listener.
> 
> This is not needed, because the `DialogPane.createButtonBar()` method already specifies that implementers are required to observe changes of `DialogPane.getButtonTypes()`, and relayout the button bar as needed.
> 
> I've added a test to verify that changing the button types indeed requests a layout on the `DialogPane`.

It seems the old code also forgets to remove the list listener on `oldDialogPane`.

LGTM.

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

Marked as reviewed by jhendrikx (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/1973#pullrequestreview-3461954076


More information about the openjfx-dev mailing list