What's New in JFormDesigner 2

JFormDesigner 2 introduces more than 80 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.


Menu designer The menu designer makes it easy to create and modify menu bars and popup menus. It supports in-place-editing menu texts and drag-and-drop menu items. The component palette category "Menus" contains all menu components.

Menu designer

Localization support Localizing forms using properties files has never been easier. Specify a resource bundle name and a prefix for keys when creating a new form and then forget about it. JFormDesigner automatically puts all strings into the specified resource bundle (auto-externalizing). It also updates resource keys when renaming components, copies resource strings when copying components and removes resource strings when deleting components.

You can also externalize and internalize strings, edit resource bundle strings, add locales, switch locale used in Design view, in-place-edit text of current locale.

Localized form

Palette customization The component palette is fully customizable. Right-click on the palette to add, edit, remove or reorder components and categories. Or use the Palette Manager dialog.

Palette popup menu

Support for events JFormDesigner supports adding and removing event handlers and generates empty handler methods. It shows events in the Structure view and event properties in the Properties view.

Add Event Handler menu

Morph Bean The "Morph Bean" command allows you to change the class of existing components without loosing properties, events or layout information. Right-click on a component in the Design or Structure view and select Morph Bean from the popup menu.

Layout manager changing Layout manager changing allows you to change the layout manager used by a container without loosing child components. The layout is converted to the new layout manager as good as possible. Right-click on a container in the Design or Structure view and select Set Layout Manager from the popup menu and choose the new layout manager.

Marquee selection tool The marquee selection tool allows you to select components in a rectangular area. Select Marquee Selection in the Palette and click-and-drag a rectangular selection area in the Design view. Or click-and-drag on the free area in the Design view. All components that lie partially within the selection rectangle are selected.

Marquee selection

Auto-insert columns/rows Besides using "Insert Column" or "Insert Row" from the column/row header popup menu, you can now insert new columns/row when dropping components on column/row gaps or outside of the existing grid.

Auto-insert row between   Auto-insert row virtual

In the first figure, a new row will be inserted between existing rows. In the second figure, a virtual grid is shown below/right to the existing grid and a new row will be added.

Moving multiple selected components JFormDesigner now allows you to drag and drop multiple selected components at once in the Design view in all layout managers. The layout constraints are preserved where possible.

Move multiple components

Tooltips when moving or resizing components Tooltips when moving or resizing components show you detailed information about the insert location, the new size and the size differences.

Resize tooltip

Default alignment in GridBagLayout and TableLayout Allows you to specify a default alignment for components within columns/rows in GridBagLayout and TableLayout (as already supported by FormLayout). This is very useful for columns with right aligned labels because you specify the alignment only once for the column and all added labels will automatically aligned to the right


Improved JTabbedPane support Now you can insert new tabs into a JTabbedPane before existing tabs and you can reorder tabs in the Design view by dragging a page component over the tabs. The visual feedback shows the insert location and the tooltip the tab index. You can also drag and drop page components in the Structure view to change its order.

Add page   Change tab order

null layout manager support The null Layout allows you to make quick prototypes. null layout is not a real layout manager. It means that no layout manager is assigned and the components can be put at specific x,y coordinates. JFormDesigner's null layout implementation supports preferred component sizes, grid snapping, aligning components and is able to compute the preferred size of the container.

null Layout

Non-visual JavaBeans To add a non-visual bean to a form, select it in the Palette (or use Choose Bean) and drop it into the free area of the Design view. Non-visual beans are shown in the Design view using proxy components.

Non-visual JavaBean

Right-to-left component orientation Right-to-left component orientation is now supported in the Design view for all layout managers that support it.

Right-to-left

Drag and drop in Structure view The Structure view supports drag and drop to rearrange components. You can also add new components from the palette to the Structure view. Besides the feedback indicator in the structure tree, JFormDesigner also displays a green feedback figure in the Design view to show the new location.

Structure view: Drag and drop

Multi-selection property editing The Properties view supports editing properties of multiple selected components.

Properties: multi-selection

New Choose Bean dialog The new Choose Bean dialog allows you to search for classes in the classpath, history and palette. You can also specify whether a bean is a container or not and add the chosen bean to the palette.

Choose Bean dialog

Custom Look and Feels Use your favorite look and feel in the Design view. Add it on the Look and Feels preferences page.

Look and feel

Import NetBeans forms JFormDesigner can import NetBeans forms (.form files). Either select File > Import from the main menu or drag .form files to the JFormDesigner window. When saving a imported NetBeans form, JFormDesigner replaces the NetBeans generated code with its own code. If using NetBeans, you should remove (and backup) the .form files. Otherwise NetBeans would again replace the JFormDesigner generated code with its own code.

Convert JBuilder jbInit() methods JFDConverterOpenTool is a JBuilder X (or later) plugin to convert JBuilder forms (jbInit() methods) to JFormDesigner .jfd files. It analyzes the jbInit() method and converts as much as possible to a JFormDesigner form model and saves it to a .jfd file. Please download JFDConverterOpenTool here: www.formdev.com/jformdesigner/download/.

Custom column/row templates for FormLayout If the predefined FormLayout column/row templates does not fit to your needs, you can define your own column/row templates in the FormLayout preferences.

Custom column/row templates

Class hierarchy tooltip The tooltip of the "Class" property shows the class hierarchy of the component.

Class hierarchy

New property editors Added property editors for javax.swing.SpinnerDateModel, javax.swing.SpinnerListModel, java.awt.Cursor, javax.swing.border.MatteBorder and javax.swing.KeyStroke. The KeyStroke editor supports menu shortcut modifier key (Command key on Mac OS X, Ctrl key otherwise).

KeyStroke property editor