General

  • Integrity by default

WindowBuilder uses BurningWave to access the internal fields of the Swing components. In previous versions, this functionality was enabled by default but could be disabled by setting the wbp.burningwave.enabled system property to false. This property is now disabled by default and needs to be explicitly enabled.

Users are encouraged to explicitly open the required modules using e.g. --add-opens java.desktop/javax.swing=ALL-UNNAMED.

Swing

  • Deprecated support for Applet/JApplet

The Applet API has been deprecated for removal with Java 9 and formally been removed with Java 26. Support for those containers will be removed after the 2027-12 release.

When opening a JApplet with the editor, the root element will be annotated with <Deprecated>

Deprecation indication in Designer editor

When trying to create a new JApplet with the editor, the entry in the "New" wizard and the dialog tile will be annotated with (Deprecated)

Deprecation indication in "New JApplet" wizard

  • New error code 1003 if multiple layouts are added to a container

This aligns the behavior of the Swing designer with the behavior of the SWT designer. Adding multiple layouts to a composite is generally not supported and causes issues when working with e.g. the GridLayout.

The parser now detects such cases and throws an appropriate error message.

Swing snippet with two 'setLayout()' calls and the error message

What’s new - v1.21.0