for IntelliJ IDEA

Compatible with:  IntelliJ IDEA Android Studio
164 636
Advanced Swing GUI designer. Its outstanding support for MigLayout, JGoodies FormLayout, GroupLayout (Free Design), TableLayout and GridBagLayout makes it easy to create professional looking forms.

Key features

  • MigLayout support
    MigLayout is a superbly versatile and powerful open-source layout manager. It is grid-based, but also supports docking and grouping.
  • GroupLayout (Free Design) support
    GroupLayout support brings the "Free Design" paradigm to IntelliJ IDEA (as in NetBeans GUI Builder; formerly Project Matisse). You can lay out your forms by simply placing components where you want them. Visual guidelines suggest optimal spacing, alignment and resizing of components. This makes it easy to design professional-looking GUIs.
  • JGoodies FormLayout and TableLayout support
    These open-source layout managers allow you to design high quality forms.
  • Advanced GridBagLayout support
    The advanced GridBagLayout support allows the specification of horizontal and vertical gaps (as in TableLayout).
  • Column and row headers
    The column and row headers (for grid-based layout managers) show the structure of the layout 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).
  • IDE plug-ins and stand-alone application
    JFormDesigner is available as IDE plug-ins for IntelliJ IDEA, NetBeans, Eclipse, JDeveloper and as stand-alone application.
  • 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).
  • 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.
  • BeanInfo Annotations
    The @BeanInfo and @PropertyDesc annotations make it very easy to specify BeanInfo information directly in the custom component. Its no longer necessary to implement extra BeanInfo classes. This drastically reduces time and code needed to create BeanInfo information.
  • 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.
  • 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.

Download plugin

Recent change notes

- MigLayout support - Support for HiDPI monitors (scaled UI and images) - New modern icons (including 2x resolution) - Darcula theme support improved
Works very well, I like it a lot.
This is very nice. On a par with Intellij 9s built-in editor, which I also like, but the JFormsDesigner plugin generates native java code with no runtime bcel requirements.
needs better refactor support
I like this, thanks
Works well for building gui code, very nice.

FINALLY a kick ass GUI editor that can handle all of Java's wacky layouts. I cannot even tell you what a breath of fresh air this is.

If this had been around 10 years ago Java on the desktop might be a very different story. Even so it's here now.

I've heard Matisse is pretty good too, but last time I tried Matisse it wasn't even close to how easy, clean and seemingly bullet proof this is.
Seems to be the best Swing GUI builder around for the BEST Java IDE around, although I have some comments, questions for the plugin and the company as well.
1) Doesn't support refactorings(not even basic ones such renaming) which creates a mess with .java files and .jfd files. This is actually a major stopper for us buying the plugin. Maybe that is what Two-way code generation is about in the Roadmap notes???
The 2 files should definitely be in sync.
2) I think that the View/Model(Design/Code) windows should be one just like in Matisse in order to avoid confusion. Other than that and the comment above it beats Matisse hands down, especially with the Code Generator Templates feature.
3) Maybe a forum and/or wiki should exists in the company's web site in order to express such comments and/or find/request answers to common questions other than reading the manual or sending a corporate e-mail.
4) Maybe provide a bit more details in the roadmap. e.g what do you mean by form templates? I think that since you also have a runtime the designer could be used for creating printable views of complex UIs(which contain JSCrollPanes, JTabbed Panes, etc) which can be printed using a Swing printing library such as J2PrinterWorks. Also they could be easily customised by customer and the .xml files loaded at runtime(No recompilation needed). Would that be possible?

Overall, it seems to be one of the best plugins I've used in IDEA(and I've used a lot) and would be the best GUI Builder if it didn't lack refactoring support
pure gold
lacks support of refactoring
e.g. if I rename class in IDEA and there are strings in dictionary referenced via classname, then IDEA can't find it in *.jfd files
there is no such problem with Netbeans forms
Excelent! Migration from JBuilder was easy and this designer is far better. A breeze to use, generates clean code and is highly configurable.
Support is also excelent. I had a problem which was caused by an IntelliJ EAP buid but it was resolved immediately.
Best GUI editor... EVER!
Fantastic tool... great IDE support.
Best GUI Builder I have ever used!
JFormDesigner is the state of the art in gui designers
This is the best GUI Designer I've ever used (and I used quite a few :) ). The user can't see this from the screenshots nor from the animations: it must be tried - only then it's evident how smooth and efficient the GUI building with this tool is :).
Please  sign in  to leave a comment.