|
|
General |
|||||
| Easy and intuitive to use, powerful and productive | JFormDesigner provides an easy-to-use but powerful user interface. The complexity of Java layout managers is hidden behind an intuitive WYSIWYG designer, easy to understand dialogs and powerful tools like column and row headers. This helps you to design high quality GUIs without deep knowledge of layout managers. Even non-programmers can use it, which makes JFormDesigner also ideal for prototyping. | ||||
|
|
|||||
| IDE plug-ins and stand-alone application | JFormDesigner is available as IDE plug-ins for Eclipse, IntelliJ IDEA and JBuilder and as stand-alone
application. This gives you the flexibility to use several IDEs in your
team and the possibility to switch to another IDE. Use JFormDesigner in
your favorite IDE. Plug-ins for JDeveloper and NetBeans are under
development. The stand-alone application makes it ideal for prototyping and non-programmers because no heavyweight IDE is necessary to design GUIs. |
||||
|
|
|||||
| WYSIWYG designer | The state-of-the-art Design
view
is the central part of JFormDesigner. It lets you drag and drop
components, resize components, etc. Design
view features »![]() |
||||
|
|
|||||
| Standard and Open Source layout managers | JFormDesigner supports all standard layout managers (GridBagLayout, BorderLayout, etc.) and the popular and powerful open-source layout managers JGoodies FormLayout and Clearthought's TableLayout. This gives you the choice to use your favorite layout manager. | ||||
|
|
|||||
| 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. View a flash demo here. ![]() |
||||
|
|
|||||
| Localization support | Localizing
forms using properties files has
never been easier. Specify a
resource bundle 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. Modifications in
properties files are done without loosing comments and without changing
the order of keys. You can also externalize and internalize strings, edit resource bundle strings, create locales, delete locales, switch locale used in Design view, in-place-edit text of current locale. View a flash demo here. ![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| Based on JavaBeans standard | JFormDesigner is based on the JavaBeans standard. It supports and uses BeanInfos, BeanDescriptors, PropertyDescriptors, PropertyEditors (incl. custom and paintable editors), Introspector, etc. | ||||
|
|
|||||
| Standard and custom swing JavaBeans | You can use all components that follow the JavaBeans standard. This includes standard Swing components (JButton, JLabel, etc.) and custom components (3rd party or own beans). | ||||
|
|
|||||
| Java code generator or runtime library | Either let JFormDesigner generate Java source code for your forms (the default) or use the open-source (BSD license) runtime library to load JFormDesigner XML files at runtime. Your choice. | ||||
|
|
|||||
| Convert NetBeans and IntelliJ IDEA forms | JFormDesigner can convert NetBeans and 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. |
||||
|
|
|||||
| 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. The JFormDesigner plug-in for JBuilder 2005 and 2006 also supports converting JBuilder forms (jbInit() methods) to JFormDesigner .jfd files. |
||||
|
|
|||||
| Undo/redo and clipboard | You can infinite undo and redo all operations. The clipboard allows you to copy/move one or more components. | ||||
|
|
|||||
| Mac OS X support | JFormDesigner is available as real Mac OS X
application. It uses the application menu, the Command
key in
keyboard shortcuts, native file choosing dialogs and swaps the OK
and Cancel buttons.![]() |
||||
|
|
|||||
| Simple offline product activation | To activate JFormDesigner, you receive a license key file that you select in JFormDesigner's registration dialog. That's all. No complicated online activation required. No private data transfered to us. | ||||
|
|
|||||
Layout Managers |
|||||
| JGoodies FormLayout | JFormDesigner provides outstanding support for
JGoodies FormLayout.
This includes
column/row specifications (alignment, size, resize behavior),
IntelliGap
technology (automatically handles gap columns/rows) and column/row grouping
(makes
widths/heights equal). Other parts of the JGoodies
Forms
framework
are also
supported (DLU borders, component factory).![]() |
||||
|
|
|||||
| Clearthought's TableLayout | JFormDesigner supports all features of TableLayout and extends
it with default
component alignments.![]() |
||||
|
|
|||||
| Advanced GridBagLayout | The advanced GridBagLayout
support
allows the specification of horizontal and vertical gaps (as in TableLayout). This makes
it very easy to design forms with consistent gaps using GridBagLayout.
No longer wrestling with GridBagConstraints.insets. You can also
left/top align the whole grid. View a flash demo here.
|
||||
|
|
|||||
| Standard layout managers | JFormDesigner supports following standard layout managers: BorderLayout, BoxLayout, CardLayout, FlowLayout, GridBagLayout and GridLayout. | ||||
|
|
|||||
| 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. |
||||
|
|
|||||
| 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. | ||||
|
|
|||||
| Default alignment in GridBagLayout and TableLayout | Allows you to specify a default alignment for
components within
columns/rows in GridBagLayout
and TableLayout
(as in 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![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
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.![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| Extensive visual feedback | During 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. ![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| 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. ![]() 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. |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| 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.
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.![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| 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. ![]() |
||||
|
|
|||||
| 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. 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. 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. ![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| 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. | ||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| Baseline alignment (Java 6) |
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.![]() |
||||
|
|
|||||
| 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.![]() |
||||
|
|
|||||
| JGoodies Look and Feels | JGoodies Looks look and feels are built-in so that you can design and preview your forms using those popular look and feels. | ||||
|
|
|||||
| Custom Look and Feels | Use your favorite look and feel in the Design view. Add it on the Look and Feels
preferences page.![]() |
||||
|
|
|||||
| Squint Test | Simulates evaluating a
graphic layout by squinting your eyes.
This tests
legibility and whether the overall layout is a strong, clear layout.
You can change the squint intensity in the Squint Test
preferences.![]() |
||||
|
|
|||||
Palette |
|||||
| Palette | The
component palette provides
quick access to commonly used Swing components (JavaBeans)
available for
adding to forms. The palette contains all standard Swing components and
some JGoodies
components. The
components
are organized in categories. You can add own categories and custom
beans to the palette. |
||||
|
|
|||||
| 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. |
||||
|
|
|||||
| Comfortable bean chooser dialog | The 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.![]() The "JARs" tab 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. |
||||
|
|
|||||
Structure View |
|||||
| Structure view | The Structure
view displays the
hierarchical structure of the components
in a form and its events.![]() |
||||
|
|
|||||
| 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 drop
location.![]() |
||||
|
|
|||||
Properties View |
|||||
| Properties view | The Properties
view displays
and lets you edit the properties of the selected
component(s). Different font styles and backgrounds help you to find
often used properties and see modified values.![]() |
||||
|
|
|||||
| Comfortable property editors | JFormDesigner provides comfortable dialog based property editors
for Border,
Color,
ComboBoxModel,
Dimension,
Font,
Icon,
Insets,
KeyStroke,
ListModel,
Point,
Rectangle,
SpinnerModel,
TableModel,
TreeModel
and
all standard data types (String, int, long, etc.).![]() |
||||
|
|
|||||
| Relative font specification | Derived fonts are computed based on the
default font of the component (from the current look and feel). They
are recommended if you just need a
bold/italic or a larger/smaller font (e.g. for titles) because they are
platform independent. If your
application runs on several look and feels (e.g. several operating
systems), derived fonts ensure that the font family stays consistent. In the Properties view, you can quickly change the style (bold and italic) and the size of the font. In the custom editor you can choose one of the tabs to specify either absolute fonts, derived fonts or fonts defined in the look and feel. ![]() |
||||
|
|
|||||
| Multi-selection property editing | The Properties
view supports editing properties of multiple
selected components.![]() |
||||
|
|
|||||
| Client properties support | You can use client
properties. They
can be
defined in the Client
Properties preferences and set in the Properties view.![]() |
||||
|
|
|||||
Error Log View |
|||||
| Error Log view | JFormDesigner catches exceptions thrown by
beans and displays them in the Error Log view. You can
see
which
bean causes the problem and the stack trace of the exception. This
makes it much easier to solve problems when using your own (or 3rd
party)
beans. Reloading beans
allows you to modify beans and reload them without restarting
JFormDesigner.![]() |
||||
|
|
|||||
Java Code Generator |
|||||
| Java code generator | JFormDesigner can generate
and
update Java source code. It uses the
same name for the Java file as for the Form file. E.g.:
|
||||
|
|
|||||
| Generation of nested classes | The Java code generator is able to generate and update nested classes. You can specify a class name for each component in your form. This allows you to organize your source code in an object-oriented way. | ||||
|
|
|||||
| Code templates | When generating new Java files, nested classes or event handlers, JFormDesigner uses code templates specified in the Templates preferences. | ||||
|
|
|||||
| 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. | ||||
|
|
|||||
| Generate Eclipse or NetBeans non-nls tags | The Java code generator can write Eclipse non-nls tags (//$NON-NLS-n$) and NetBeans no-i18n tags (//NOI18N). Enable it in the Java Code Generator preferences. | ||||
|
|
|||||
Runtime Library |
|||||
| Open-source runtime library | The open-source (BSD license) runtime library allows you
to load JFormDesigner XML files at runtime within your applications.
Turn off the code generation in the Preferences
dialog if you use this library. Note: If you use the Java code generator, you don't need this library. |
||||
|
|
|||||