Design View

Design view

The Design view is the central part of JFormDesigner. It lets you drag and drop components, resize components, select components, insert/delete/move columns or rows and in-place-edit texts.

Design view

Animated transitions

Animated transitions on layout changes in Design view are not just cool, they also help you to better see what happens on changes.

Animated transitions

Extensive visual feedback

Visual feedbackDuring drag and drop, you see exactly where a component will be placed before dropping it. This makes it much easier to hit the right location.

Column and row headers

Column and row headers (for grid based layout managers) show the structure of the layout (including column/row indices, alignment, growing, grouping) and allow you to insert or delete columns/rows and change column/row properties. It's also possible to drag and drop columns/rows (incl. contained components and gaps). This allows you to swap columns or move rows in seconds.

Headers  red columns/rows

Insert and delete columns/rows

The headers allow you to insert and delete columns/rows in grid based layout managers. Right-click on the column/row and select a command.

Insert column

Auto-insert columns/rows

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

Auto-insert row betweenAuto-insert row virtualIn 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.

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.

Resize Column

Moving columns/rows

The headers allow you to drag and drop columns/rows (incl. contained components and gaps). This allows you to swap columns or move rows in seconds. Click on a column or row and drag it to the new location. Move row JFormDesigner updates the column/row specification and the locations of the moved components.

Moving multiple selected components

JFormDesigner 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

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.

Nest in Container (Before)Nest in Container (After)For grid-based layout managers, the new container gets columns and rows and the layout constraints of the selected components is preserved.


In-place-editing In-place-editing allows you to edit the text of labels and other components directly in the Design view. Simply select a component and start typing. JFormDesigner automatically displays a text field that allows you to edit the text. In-place-editing is also supported for the title of TitledBorder and the tab titles of JTabbedPane.

Keyboard navigation

Keyboard navigation allows you to change the selection in the designer view using the keyboard. This allows you for example to edit a bunch of labels using in-place-editing without having to use the mouse.

Button group visualization

Button groups (javax.swing.ButtonGroup) are used in combination with radio buttons to ensure that only one radio button in a group of radio buttons is selected. Button Groups To visualize the grouping, JFormDesigner displays lines connecting the grouped buttons when the mouse cursor is over a button.

JTabbedPane support

JFormDesigner makes it easy to create and manage JTabbedPanes. You can add new tabs by dropping panels on the tabs area, click on tabs to select them (and see the tab page components), double-click on a tab to in-place-edit its title, edit other tab properties (tool tip text, icon, ...) in the Properties view and reorder tabs by dragging a page component over the tabs area.

Add page  Change tab order

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.

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.

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

Non-visual JavaBeans

Non-visual JavaBeanTo 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.

Baseline alignment

Baseline alignment, which was introduced to GridBagLayout and FlowLayout in Java 6, is supported. Components are vertically aligned along the baseline of the prevailing row.

Baseline alignment

Right-to-left component orientation

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


Look and Feel switching

Allows you to change the look and feel of the components in the Design view.

Look and Feel switching

FlatLaf Look and Feel

FlatLaf look and feel is built-in so that you can design and preview your forms using this popular look and feel.

Auto-reload custom component classes

JFormDesigner's class loader technology automatically reloads custom components when they change. This is extremely useful when you develop custom beans. Simply edit your component, compile it and you see your changes immediately in JFormDesigner.