What's New in JFormDesigner 4

JFormDesigner 4 introduces several new features and enhancements. This topic describes some of the significant or more interesting changes. Please have a look at the change log for a complete list of changes.

GroupLayout (Free Design) support

Support for GroupLayout brings the "Free Design" paradigm to JFormDesigner. You can lay out your forms by simply placing components where you want them. Visual guidelines suggest optimal spacing, alignment and resizing of components. This makes it easy to design professional-looking GUIs.

GroupLayout

GroupLayout has been developed by the NetBeans team and is also used by the NetBeans GUI Builder (formerly Project Matisse).

JGoodies Forms 1.2 support

JGoodies FormLayout 1.2 provides a new string syntax for encoded column and row specifications, which allows JFormDesigner to generate much shorter Java code. Just two strings, compared to the complex expressions that were necessary for FormLayout 1.1.

FormLayout 1.1:
FormLayout 1.1 column and row specification code

FormLayout 1.2:
FormLayout 1.2 column and row specification code

To upgrade Java code of existing forms to FormLayout 1.2, invoke the JFormDesigner Java code generator once from command-line. If you prefer to use an older JGoodies Forms version, specify it in the FormLayout preferences.

Improved IntelliJ IDEA form conversion

The improved conversion of IntelliJ IDEA forms now removes IDEA's GUI code (e.g. $$$setupUI$$$ method and component fields) and also uses the same modifiers (public, private, protected, etc) for the new component fields as the removed fields. This makes the migration from IntelliJ IDEA GUI builder to JFormDesigner seamless. IntelliJ IDEA plug-in and Eclipse plug-in only.

Abeille form conversion

JFormDesigner can now convert Abeille forms (.jfrm and .xml) to JFormDesigner forms.

Improved "Choose Bean" dialog

The "Choose Bean" dialog now updates its class name cache in the background. You can immediately start typing your search criteria or select a class.

Choose Bean Dialog

SwingX layout manager and border support

Support for SwingX layout managers HorizontalLayout and VerticalLayout makes it easier to use SwingX components (like JXTaskPaneContainer and JXCollapsiblePane) in JFormDesigner. Also, SwingX's DropShadowBorder is fully supported.

Java Code Style

The Java code generator now supports custom code indentation. The IDE plug-ins are using the IDE code style settings of the project or workspace. The stand-alone edition provides a new Code Style preferences page.

Code Style preferences

Command-line Java code generation

You can now invoke the JFormDesigner Java code generator from command-line if necessary. This helps you to upgrade your forms code to JGoodies FormLayout 1.2, which introduced a new much shorter syntax for encoded column and row specifications.

Localization: Safer deletion of messages from resource bundles

The new Localization preferences option "Delete messages only if key prefix is equal to form's key prefix", which is on by default, avoids removal of shared messages.

Localization preferences