What's New in JFormDesigner 3
JFormDesigner 3 introduces more than 60 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.
The Eclipse plug-in fully integrates JFormDesigner into Eclipse.
IntelliJ IDEA plug-in
The IntelliJ IDEA plug-in fully integrates JFormDesigner into IntelliJ IDEA.
Convert IntelliJ IDEA forms
JFormDesigner can convert IntelliJ IDEA forms (.form files) to JFormDesigner forms. Stand-alone: Either select File > Import from the main menu or drag .form files to the JFormDesigner window. IDE plug-ins: Right-click on the form file and select Convert to JFormDesigner Form from the popup menu.
IntelliJ IDEA GridLayout support
The IntelliJ IDEA GridLayout manager is supported to make it easier to migrate forms, which were created with IntelliJ IDEA's GUI builder.
The stand-alone edition of JFormDesigner now includes a simple project manager that allows you to use project specific source folders and classpaths. The IDE plug-ins use the IDE projects.
Improved Localization support
JFormDesigner's advanced localization support has been further improved:
- Modifications in properties files are now done without loosing comments and without changing the order of keys.
- It is now possible to use resource bundles in any folder (within source folders).
- You can now change the resource bundle used in the form.
- Use existing keys. In the Properties view click the small globe in a String property value to open the "Choose Key" dialog.
- Missing resources are logged to Error Log view.
- Delete Locale command added.
- Reload properties files on external changes.
- Localization of mnemonics.
- Template for new properties files.
Resizing of columns/rows
You can now use the headers to change the (minimum) size of a column/row. Click near the right edge of a column/row and drag it.
Nest in Container
The "Nest in Container" command allows you to nest selected components in a new container (usually a JPanel). Right-click on a component in the Design or Structure view and select Nest in JPanel from the popup menu. The new container gets the same layout manager as the old container and is placed at the same location where the selected components were located. For grid-based layout managers, the new container gets columns and rows and the layout constraints of the selected components is preserved.
Move and resize using keyboard in null layout
In null Layout manager you can now move selected components with Ctrl+ArrowKey and change size with Shift+ArrowKey. All alignment commands have now keyboard shortcuts.
Improved update of generated Java code
The Java code generator now better updates the source code:
- Renames existing event handler methods when changing the event handler name.
- Renames existing component getter methods and update the return statement when renaming a component.
- Renames existing nested classes when changing the "Nested Class Name" property.
- Updates the
extendsclause of a class when morphing a bean, which is connected to a (nested) class.
New Java code generation options
The Java code generator supports various new options:
- Generation of explicit import statements.
- Use 'this.' to access component member variables.
PanelBuilderfor JGoodies FormLayout.
- Use empty
GridBagConstraintsconstructor (for Java <= 1.1).
- Specification of i18n
- Parametrization of component class names (e.g.
- Global member variable prefix in preferences (e.g. "m_").
Java 5 support
The Java code generator can generate source code that uses Java 5 language features (e.g. auto-boxing, @Override, etc). You can also use Java 5 enums as property values and set annotations for component variables.
Extended Choose Bean dialog
The Choose Bean dialog now has an additional tab named "JARs", which allows you to select classes that are marked as JavaBean in the JAR's manifest. The provider of the component JAR can mark some classes as JavaBean in the manifest file. Popular 3rd party component libraries like MiG Calendar or JIDE components use this to make it easier to find the few classes, which can be used in GUI builders, in libraries that contain hundreds of classes.
Client properties support
TableModel editor enhanced
The enhanced TableModel editor now provides more features necessary for prototyping: predefined values for columns, use Date as column type, specification of preferred/minimum/maximum column widths, resizable flag.