RFR: 8359430: Test 'javax/swing/plaf/windows/bug4991587.java' automatically failed on Windows 2025 x64 with message "Failed. Compilation failed: Compilation failed"
Alexey Ivanov
aivanov at openjdk.org
Thu Jun 19 09:49:40 UTC 2025
On Wed, 18 Jun 2025 19:28:18 GMT, Damon Nguyen <dnguyen at openjdk.org> wrote:
> Compilation error on windows with `WindowsButtonUI` used. Replaced it with `BasicButtonUI` to maintain overriding the `paintText` method but this was not the same as Windows L&F buttons. I attempted to import `WindowsButtonUI` and extending it, but the class is `final`. Instead, I chose to add a LineBorder in the same way as when a Rectangle was drawn to keep the same test behavior. It seems the extra 1 pixel width is unnecessary now when testing, so the changes only include removing `MyButtonUI` and adding a LineBorder.
>
> This updated test now compiles and runs as expected. The test has all of the text within the blue button border. There does not seem to be any overlapping or out of bounds text as originally described with the original test.
test/jdk/javax/swing/plaf/windows/bug4991587.java line 83:
> 81: }
> 82:
> 83: static class MyButtonUI extends WindowsButtonUI {
Use composition here: extend `BasicButtonUI`, create a `WindowsButtonUI`¹ object and forward *all the methods*² to the instance of `WindowsButtonUI`. In the `paintText` method, draw the rectangle and then call the implementation of your `WindowsButtonUI`.
¹ Use `WindowsButtonUI.createUI` to create an instance.
² All the overridden methods in `WindowsButtonUI`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25883#discussion_r2156600650
More information about the client-libs-dev
mailing list