On Tue, 10 Mar 2026 18:22:54 GMT, Sergey Bylokhov <[email protected]> wrote:

> [JDK-8352638](https://bugs.openjdk.org/browse/JDK-8352638) added final to 
> public classes in `java.desktop/windows` including the Windows L&F package as 
> a code consistency cleanup. This breaks applications that extend UI classes 
> and they get `IncompatibleClassChangeError` at runtime.
> 
> Although this package is not part of the public API, we decided to remove the 
> final modifier from all public and protected classes, as well as their inner 
> classes in `com.sun.java.swing.plaf.windows`. Package-private classes, 
> private inner classes, and the `@Override` annotations introduced by 
> JDK-8352638 remain unchanged.
> 
> Notes:
>  - Most of the changed files are UI delegates or related classes, the next 
> public utility classes `WindowsBorders`, `WindowsIconFactory` and 
> `WindowsGraphicsUtils` are not reverted.

This pull request has now been integrated.

Changeset: 4d262375
Author:    Sergey Bylokhov <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/4d2623757fbe8c9fa8c22817a993ca85a2403873
Stats:     91 lines in 41 files changed: 0 ins; 0 del; 91 mod

8359433: The final modifier on Windows L&F internal UI classes prevents 
extending them in apps

Reviewed-by: prr, aivanov

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

PR: https://git.openjdk.org/jdk/pull/30170

Reply via email to