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 designerThe 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.

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.

Localized formYou 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.

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 eventhandlers and generates empty handler methods. It shows events in the Structure view and event properties in the Properties view.

Add Event Handler menu

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

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.

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.

Default alignment

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.


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 an 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