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 NetBeans 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.
The stand-alone application makes it ideal for prototyping and non-programmers because no heavyweight IDE is necessary to design GUIs.
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 (GroupLayout, GridBagLayout, BorderLayout, etc.) and the popular and powerful open-source layout managers MigLayout, JGoodies FormLayout and Clearthought's TableLayout. This gives you the choice to use your favorite layout manager.
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 demo video here.
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 demo video here.
annotations make it very easy to specify
BeanInfo information directly in the custom component. It is no longer necessary
to implement extra BeanInfo classes. This drastically reduces time and code
needed to create BeanInfo information.
Beans Binding (JSR 295) support
Using Beans Binding (JSR 295) helps you to keep UI state and model in sync. It drastically reduces the amount of listener code that is usually necessary.
Support for events
JFormDesigner supports adding and removing event handlers and generates empty handler methods. It shows events in the Events category 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).
Convert NetBeans and IntelliJ IDEA forms
JFormDesigner can convert NetBeans and IntelliJ IDEA forms 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.
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 .jfd files at runtime. Your choice.