# JFormDesigner Change Log

## 8.2.3 (IntelliJ IDEA and Eclipse plug-ins only)

- IntelliJ IDEA plug-in:
  - Support for IntelliJ IDEA 2024.1.
  - Fixed: Keyboard shortcuts assigned to JFormDesigner actions did not work.
  - Fixed "ActionUpdateThread.OLD_EDT is deprecated" warning in IntelliJ IDEA 2024.1.
  - Fixed "Slow operations are prohibited on EDT" warning in IntelliJ IDEA 2024.1.
- Eclipse plug-in: Custom components with own UI delegates (e.g. JIDE components) were not shown in design view. (regression in 8.2.2)

## 8.2.2

- `FlatSVGIcon` images were shown as red rectangles in compiled components.
- Fixed design view updating if using leading/trailing components in FlatLaf text fields or tabbed panes.
- SVG icons in forms were not updated/reloaded when SVG icon content changed.
- Eclipse plug-in:
  - Improved/fixed detection of dark Eclipse themes when using 3rd party themes (e.g. DevStyle plug-in).
  - Fixed missing tooltips.
  - Use Eclipse native code bundling for FlatLaf native libraries, to ensure that they can be loaded on system with security restrictions.
- IntelliJ IDEA plug-in: Bundle FlatLaf native libraries in plugin, to ensure that they can be loaded on system with security restrictions.
- Updated FlatLaf to 3.4.1.
- Updated JSVG to 1.4.0.
- Updated JREs in StandAlone editions to OpenJDK Java 21.0.2 (64 bit).

## 8.2.1

- IntelliJ IDEA plug-in: Fixed IntelliJ IDEA 2023.3 compatibility issues:
  - Fixed appearance of toolbars in context menus. E.g. component alignment in grid-based layout managers.
  - Fixed exception when showing JFormDesigner Bindings or Error Log tool windows.
  - Fixed "Read access ..." exception/warning.
- In custom components, load `Bundle.properties` from project output folder (instead of from source folder) if project uses NetBeans `NbBundle`.
- Fixed display issue in design view when switching L&F and using custom components that use `UIManager.getColor()` (or similar) in constructor.
- Updated FlatLaf to 3.2.5.
- Updated JREs in StandAlone editions to OpenJDK Java 21.0.1 (64 bit).

## 8.2

### New Features and Improvements

- Added FlatLaf IntelliJ Themes.
- NetBeans plug-in: Support look and feels in design view if using FlatLaf as NetBeans application look and feel.
- Eclipse plug-in: Support look and feels in design view if running Eclipse in Java 17+.
- IntelliJ IDEA plug-in: JFormDesigner pages in Settings dialog are no longer a child of page "Other Settings".
- Use JSVG instead of svgSalamander for rendering SVG images.
- FormLayout: Support generating Java code for newer JGoodies Layout/Forms versions 1.14 and later.
- Improved JIDE extensions initialization error dialog (added more info and stack trace).
- Java 21 support.

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed designer background in "New UI" dark mode, which was equal to `JPanel` background.
- IntelliJ IDEA plug-in: Java code generator did not respect code style settings defined in EditorConfig (requires IntelliJ IDEA 2023.1+).
- Java Code Generator: Fixed compile error when using `final` modifier for variables.
- Form Converter: Fixed occasional `ConcurrentModificationException` when form is opened after conversion.
- Form Converter: Fixed `ClassCastException: layout of JScrollPane must be a ScrollPaneLayout` if form contains custom component, which extends `JScrollPane` and has a view component.
- Fixed occasional wrong layout in design view when changing designer look and feel. E.g. from IntelliJ L&F to FlatLaf.
- Invocation of `UIManager.setLookAndFeel()` (e.g. from JIDE's `LookAndFeelFactory.installDefaultLookAndFeel()`) from custom components (used in designer) no longer changes IDE look and feel.

### Other Changes

- Updated FlatLaf to 3.2.2.
- Updated MigLayout to 11.2.
- Updated JREs in StandAlone editions to OpenJDK Java 21 (64 bit).

## 8.1.1

- Structure view and Palette Manager dialog trees: Click on expand control of selected row did not expand/collapse row.

## 8.1

### New Features and Improvements

- Added FlatLaf macOS light and dark themes.
- Support using SVG images in forms for properties of type `javax.swing.Icon`. Uses class `FlatSVGIcon` from FlatLaf Extras. Requires `flatlaf-extras.jar`, `flatlaf.jar` and `svgSalamander.jar` at runtime.
- MigLayout: Added Shrink action to column/row context menus.
- BorderLayout: Added Position action to context menu (of children) to allow quickly change child position (center, north, south, etc.).
- New Form dialog: Added Remember as default and Reset buttons to layout options section.
- New Form dialog: Focus field "Layout manager" when dialog is shown.
- In-place-editing now supports editing multi-line text (if text already contains a line separator).
- `Ctrl+double-click` on components in design view that support in-place-editing (e.g. label, button or text components) now opens dialog to edit text property.
- Java 20 support.

### Bugs fixed

- Eclipse plug-in: Eclipse code formatter options "Align items in columns" (e.g. for fields or variables) were not respected when option "Use Eclipse code formatter" is enabled in Preferences.
- IntelliJ IDEA plug-in: Fixed occasional `NullPointerException: Cannot invoke "java.awt.Font.getFamily()" because "font" is null` at IDE startup.
- IntelliJ IDEA plug-in: Fixed occasional `IllegalStateException: You must not register toolwindow programmatically so early` at IDE startup.

### Other Changes

- System Requirements: Dropped support for Eclipse 2020-03 (4.15) - 2021-09 (4.21) and NetBeans 12.3 - 12.6.

## 8.0.5

- IntelliJ IDEA plug-in: Fixed exception when switching to "Windows" look and feel in designer (IntelliJ IDEA 2022.2+).

## 8.0.4

- Fixed too large display of `JPopupMenu`, `JMenuBar`, `JMenu` and `JToolBar` in design view if they are top-level. (regression in 8.0.3)

## 8.0.3

- NetBeans form converter: Fixed "Free Design" forms shown too small in JFormDesigner after converting from NetBeans.
- NetBeans form converter: Fixed `JDOMException: Exception outputting Document` when converting NetBeans forms (all editions except IntelliJ IDEA plug-in).
- NetBeans plug-in: Fixed `ClassNotFoundException: org.netbeans.api.java.source.WorkingCopy` when converting forms.

## 8.0.2

- Eclipse plug-in on macOS: Fixed occasional dead-lock when loading or saving forms that use `TitledBorder`.
- Stand-alone edition on Windows: Fixed `The procedure entry point JVM_DoPrivleged could not be located in "...\zulu-11\bin\java.dll"` dialog at startup if Zulu OpenJDK 11 is installed.
- Stand-alone edition on Windows: Removed `JFormDesigner32.exe`.

## 8.0.1

- NetBeans plug-in: Fixed context sensitive help.
- Properties view: `maximumSize` and `preferredSize` properties made modifiable for components of type `java.awt.Window` (and subclasses).
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2022.3.
- Java Code Generator: Use Java system property `user.name` to replace `${user}` in Java code templates. Previously the name from license key was used.
- Support new license key format.

## 8

### New Features and Improvements

- FlatLaf Look and Feel (https://www.formdev.com/flatlaf/):
  - Stand-alone: Use FlatLaf as application L&F and in Design view.
  - Eclipse plug-in: Use FlatLaf Light for light Eclipse themes, or FlatLaf Dark if Eclipse uses a dark theme. Support FlatLaf in Design view.
  - IntelliJ IDEA plug-in: Support FlatLaf in Design view.
  - NetBeans plug-in: Support FlatLaf in Design view if NetBeans application look and feel is FlatLaf (Tools > Options > Appearance > Look and Feel).
- Stand-alone edition and the Eclipse plug-in now also support dark mode.
- Properties view:
  - Modified properties are now highlighted using a green background.
  - If Group by Defining Type or Alphabetical is selected, then read-only properties are now organized in a Read-only Properties category.
  - Pressing `F3` key shows editor dialog for selected row.
  - Color properties now use hex format (e.g. `#f2f2f2`).
- Improved window title bars for `JFrame` and `JDialog` in design view:
  - support dark window title bars on macOS and Linux
  - use Windows 11 style on Windows
  - replaced image based window borders with vector graphics
- IntelliJ IDEA plug-in on Windows: Use IntelliJ custom window decorations in JFormDesigner dialogs (shows dark window title bar in dark themes).
- IntelliJ IDEA plug-in: Use IntelliJ file chooser for JFormDesigner settings import/export and license key selection.
- Java Code Generator: Newly created Java files now include formatter off/on tags (`@formatter:off` and `@formatter:on`), which can be used by Eclipse and IntelliJ IDEA formatters to exclude generated code from formatting.
- Replaced bitmap icons with SVG icons.
- Java 19 support.

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed incomplete search results for JFormDesigner options in Settings dialog (IntelliJ IDEA 2020.2 and later).

### Other Changes

- System Requirements: Require Java 11 or later to run JFormDesigner.
- System Requirements: Dropped support for Eclipse 4.5 - 2019-12 (4.14), IntelliJ IDEA 2016.x - 2019.3 and NetBeans 8.0 - 12.2.
- Updated JREs in StandAlone editions to OpenJDK Java 17.0.3+7 (64 bit).
- macOS StandAlone edition is now a universal macOS binary (includes Apple Silicon and Intel JREs).
- Dropped JDeveloper plug-in.
- Updated MigLayout to 5.3.
- Removed "Look and Feels" preferences page.
- Removed bundled JGoodies Looks.

## 7.0.7.2 (Stand-alone only)

- Stand-alone: For new forms, pressing `F2` in Design view did not open Rename component dialog.

## 7.0.7.1 (IntelliJ IDEA and Eclipse plug-ins only)

- IntelliJ IDEA plug-in: Fixed file chooser for license key or settings import on macOS and IntelliJ IDEA 2022.2, which did not allow selecting files.
- IntelliJ IDEA plug-in: Fixed: pressing `Del` key when editing property value no longer deletes component (IntelliJ IDEA 2022.2 only).
- Eclipse plug-in: Fixed renaming component using IDE refactoring when member variable prefix is set.

## 7.0.7

### New Features and Improvements

- Windows 10/11: Added dark window title bars for `JFrame` and `JDialog` to design view.

### Bugs fixed

- Fixed wrong titled border display in Test Form when using Nimbus look and feel and `JFrame` or `JDialog`.
- Fixed exception in designer when changing property `java.awt.Window.type`.
- If look and feel switching is disabled in preferences, then it was no longer possible to re-enable if after a restart (regression in 7.0.3).

## 7.0.6

### New Features and Improvements

- Java 18 support.

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed/improved palette colors.
- Fixed weird animation when editing container that has null layout.

## 7.0.5.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed occasional high CPU/GPU load when a form is open/active that contains a spinner component.

## 7.0.5

### New Features and Improvements

- Java 17 support.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2021.2 and 2021.3.
- Events: Suggest shorter handler method name for `ActionListener.actionPerformed` event (do not append `actionPerformed` and remove component type).

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed `IllegalArgumentException: Wrong parent window` when opening dialog from context menu (e.g. add event) in IntelliJ IDEA 2021.3.
- Eclipse plug-in: Fixed damaged .jfd files after refactoring, if they contain characters larger than `0xff` and the default workspace encoding is not `UTF-8`.
- NetBeans form converter: Use fields instead of local variables for `ButtonGroup` components.

### Other Changes

- System Requirements: Dropped support for IntelliJ IDEA 2016.1 and 2016.2.

## 7.0.4

### New Features and Improvements

- Java 16 support.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2021.1.

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed oversized toolbar-style buttons in some dialogs (e.g. Palette dialog) and in designer context menu for grid based layout managers when using "Windows 10 Light" or "macOS Light" themes.
- IntelliJ IDEA plug-in: Fixed empty Choose Resource Bundle dialog in localization when using Gradle project.
- IntelliJ IDEA plug-in: Fixed `NullPointerException` in icon chooser dialog when using Gradle or Maven project.
- IntelliJ IDEA plug-in: Fixed "already disposed" exception when closing project while Bindings or Error Log view are open (IDEA 2020.1+).
- IntelliJ IDEA and NetBeans plug-ins: Fixed wrong selection painting in icon chooser dialog.
- Java Code Generator: Use `KeyEvent.*_DOWN_MASK` instead of deprecated `KeyEvent.*_MASK`. For Java 10+ source compatibility, use `Toolkit.getMenuShortcutKeyMaskEx()` instead of deprecated `Toolkit.getMenuShortcutKeyMask()`.
- Icon chooser dialog: Fixed sorting of icons and folders.

## 7.0.3.1 (Eclipse plug-in only)

- Eclipse plug-in: Fixed fatal error while performing change method signature refactoring.

## 7.0.3

### New Features and Improvements

- Java 15 support.
- Improved look and feel switching.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2020.3.
- Stand-alone: Updated bundled JRE to OpenJDK Java 15.0.1 (64 bit).

### Bugs fixed

- If using Nimbus look and feel in designer, then opening a form that contains comboboxes, spinners or scrollbars did paint arrows wrong.
- Properties view was not updated when switching designer from Nimbus to another look and feel.
- IntelliJ IDEA plug-in: Look and Feel switching is now again available, even if Windows 10 Light Theme or macOS Light Theme plugins are enabled (was not available since 7.0.2).
- IntelliJ IDEA plug-in: If using non-default look and feel in designer (e.g. Nimbus), then opening another form did not show the form in the correct look and feel.
- IntelliJ IDEA plug-in: Fixed exception `java.lang.Error: no ComponentUI class for: com.intellij.ui.components.ActionLink`, which may have occurred if look and feel switching was used.
- IntelliJ IDEA plug-in: Show correct IntelliJ IDEA theme name in designer look and feel combobox.
- IntelliJ IDEA plug-in: Fixed continuous repaint of design grid and medium CPU/GPU load while form is open.

## 7.0.2.6 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2020.2.
- IntelliJ IDEA plug-in: Renaming components in Structure tree by pressing F2 key did not work because the text field was not focused.
- IntelliJ IDEA plug-in: Fixed `NullPointerException` in icon chooser dialog when using Maven project and module `.iml` file is missing.

## 7.0.2.5 (NetBeans plug-in only)

- NetBeans plug-in: Fixed failed installation of plug-in if NetBeans runs on Java 14.

## 7.0.2.4 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed `IllegalArgumentException` at startup in IntelliJ IDEA 2019.2 and earlier when trying to reopen forms (regression in 7.0.2.1).

## 7.0.2.3 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Changed vendor in Marketplace Edition plugin descriptor in to comply with JetBrains Marketplace organization ID rules.

## 7.0.2.2 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Changed vendor in plugin descriptor to comply with JetBrains Marketplace organization ID rules.

## 7.0.2.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed `Should be called at least in the state COMPONENTS_LOADED, the current state is: CONFIGURATION_STORE_INITIALIZED` exception on startup (only in IntelliJ IDEA 2020.1).
- IntelliJ IDEA plug-in: Removed JGoodies Looks Windows classes because they are not compatible with Java 11.

## 7.0.2

### New Features and Improvements

- Java 14 support.
- Support adding FlatLaf on Look and Feel preferences page.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2020.1.
- NetBeans plug-in: Support for NetBeans 11.3.

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed `Failed to create look and feel` error dialog in IntelliJ IDEA 2020.1, which occurred if Windows 10 Light or macOS Light theme are active. JFormDesigner look and Feel switching is now disabled if Windows 10 Light Theme or macOS Light Theme plugins are installed and enabled.
- Eclipse plug-in on Ubuntu Linux: Disallow using Ubuntu Java to avoid Eclipse crashes. AdoptOpenJDK 11 or later is recommended to run Eclipse on Ubuntu.

## 7.0.1

### New Features and Improvements

- Java 13 support.
- Support fluent style properties (property setter method returns `this`).
- Properties view: Property editor for type `java.lang.Class` now supports primitive types and array types.
- Stand-alone: Use Java 8 (instead of Java 12) as default source compatibility for generated code.
- Stand-alone: Updated bundled JRE to OpenJDK Java 13.0.2 (64 bit).
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2020.1 EAP.

### Bugs fixed

- Fixed flicker when resizing dialogs to smaller sizes on Windows and Linux.
- Some icons were not painted in high resolution on HiDPI displays.
- Stand-alone: Fixed occasional `NullPointerException` after closing a form.
- Eclipse plug-in on Mac: In-place-editing labels did not work because editing field did not get focus. Also, editing in Properties view did not work sometimes.
- Eclipse plug-in: Fixed occasional `NullPointerException` in refactoring when renaming a class.

## 7.0.0.6 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed `NoSuchMethodError` when invoking JFormDesigner help in IntelliJ IDEA 2019.3 EAP.

## 7.0.0.5 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed look and feel switching issues in IntelliJ IDEA 2019.2.

## 7.0.0.4 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixes for dark theme.

## 7.0.0.3 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed high CPU load when animation is enabled and using `GridBagLayout`.
- IntelliJ IDEA plug-in: Fixed memory leak, which was reported to IDEA log.
- IntelliJ IDEA plug-in: Look and feel combobox in designer toolbar was not updated when switching IntelliJ IDEA theme (regression in 7).

## 7.0.0.2 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed display errors in various components and dialogs.
- IntelliJ IDEA plug-in: Fixed `AbstractMethodError` exception when clicking on links in labels (regression in 7.0.0.1).

## 7.0.0.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Marketplace edition introduced to support JetBrains Marketplace licensing.
- IntelliJ IDEA plug-in: Fixed `NullPointerException` when invoking JFormDesigner help in IntelliJ IDEA 2019.2 EAP.

## 7

### New Features and Improvements

- Java 9 - 12 support.
- Java 10 `var` support in generated Java code.
- New icon/image chooser dialog.
- Load images from project source folders.
- Icon editor: Support selecting icons in JARs of classpath.
- Design view: Invisible frame around top-level components for easy resizing them.
- Highlight filter matches in Choose Bean and Choose Key (i18n) dialogs.
- Rename component dialog: Added "Previous" and "Next" buttons to quickly rename multiple components without closing the dialog.
- Improved multi-monitor support.
- Support per-monitor scale factors when running JFormDesigner in Java 9 VM or in IntelliJ IDEA 2017.2.
- Eclipse plug-in: Refactoring integration improved:
  - JFormDesigner form files and palette are now updated when using `Refactor > Rename`, `Refactor > Move`, `Refactor > Change Method Signature` or `Rename in workspace` on packages, classes, fields and methods.
  - Rename component in Design view now allows using Eclipse Java refactoring to rename all occurrences of the component name (including Preview).
  - Rename/move .properties files now updates .jfd and .java files.
  - Rename nested class now updates .jfd file.
- Eclipse plug-in: Support assigning shortcut keys to JFormDesigner commands in the Eclipse Preferences dialog on page "Keys" (search for JFormDesigner to find the available commands).
- Eclipse plug-in: Improved modal dialog experience.
- Eclipse plug-in on Linux: Support running Eclipse under GTK+ 3 in a Java 9 (or later) VM (requires Eclipse 2019-03 (4.11) or later).
- I18n: Support UTF-8 Property Resource Bundles (default since Java 9).
- Java Code Generator template for `java.awt.Dialog` changed to use single constructor with parameter `Window owner`.
- Support components that subclass `java.awt.Window` and have a constructor with a single parameter of type `java.awt.Window`.
- Java Code Generator: Use constants for font names (e.g. `Font.DIALOG`).

### Other Changes

- System Requirements: Java 8 - 12 (OpenJDK or Oracle JRE/JDK).
- System Requirements: Dropped support for Eclipse 3.6 - 4.4, IntelliJ IDEA 12.0 - 15.0, NetBeans 7.2 - 7.4 and JDeveloper 11g - 12c R1.
- Updated MigLayout to 5.2.
- Updated IntelliJ IDEA GridLayout to 2018.2.
- Removed "JARs" tab from "Choose Bean" dialog.
- Removed support for .jfd files created with JFormDesigner 1.0 (use JFormDesigner 6 to save them in current format).
- Updated JRE in Windows setup to OpenJDK Java 12.0.1 (64 bit).
- macOS distribution now bundles a JRE: OpenJDK Java 12.0.1 (64 bit).
- Linux distribution now bundles a JRE: OpenJDK Java 12.0.1 (64 bit).

## 6.0.6.4 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed deadlock in IntelliJ IDEA 2019.1 when opening a form in a Gradle project.

## 6.0.6.3 (Eclipse plug-in only)

- Eclipse plug-in: Fixed NPEs after dropping container to Outline view.

## 6.0.6.2 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed form designer did open as text in IntelliJ IDEA 2019.1 EAP.

## 6.0.6.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2019.1 EAP.

Note: This release requires IntelliJ IDEA 2016.1 or later. Use JFormDesigner 6.0.6 for IntelliJ IDEA 12.0 - 15.0.

## 6.0.6

- I18n: Fixed NPE when creating new form with i18n enabled, but properties file does not exist.
- IntelliJ IDEA plug-in: Fixed `ConcurrentModificationException` when using Darcula theme and Nimbus L&F in IntelliJ IDEA 2018.3 and later.
- Disabled animation if Nimbus L&F is active to avoid occasional `ClassCastException`.
- Minor bugs fixed.

## 6.0.5

- NetBeans plug-in: Fixed NPE when saving modified form and properties files while closing project.
- Minor bugs fixed.

## 6.0.4.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Disabled Look and Feel switching if Material Theme UI plug-in is installed and enabled.

## 6.0.4

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed too large MigLayout scaling on HiDPI monitors running on Windows in a JetBrains Java 8 VM.
- Minor bugs fixed.

### Other Changes

- NetBeans plug-in: Support Apache NetBeans 9.0.
- NetBeans form converter: Convert per property custom code to per component "Pre-Initialization Code" property.

## 6.0.3

### Bugs fixed

- Scale system icons in file chooser tree on HiDPI monitors.
- Scale size of `java.awt.Window` based components (e.g. `JFrame`) on HiDPI monitors in "Test Form" command and in generated Java code.
- SpinnerModel editor: Fixed test spinner in edit dialog for model type `List`.
- Java code generator: Fixed NPE when component class does not exist (regression in 6.0).
- Eclipse plug-in: Removed key binding `Ctrl+Shift+D` from "New JFormDesigner form" command to avoid conflict with another command.
- IntelliJ IDEA plug-in: Scale position and size of top-level form components on HiDPI monitors when changing default font size in IntelliJ IDEA Appearance Settings dialog.
- IntelliJ IDEA plug-in: Fixed garbage painting of some fields in Binding dialog on Windows 10 in IntelliJ IDEA 2017.2 (and later) if IntelliJ theme is active.
- Catch exceptions in Look and Feel initialization and show them in Error Log view.
- Use secure connection when checking for updates.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2018.1.
- Updated JRE in Windows setup to Java 8 Update 172.

## 6.0.2

### Bugs fixed

- I18n in IDE plug-ins: Fixed escaping of characters in properties files if encoding of properties files is not `ISO-8859-1`.
- IntelliJ IDEA plug-in: Minor fixes for the Darcula and IntelliJ themes.
- IntelliJ IDEA plug-in: Form classpath now includes resources output folder of Gradle projects (requires IntelliJ IDEA 2017.1 or later).
- NetBeans plug-in: Fixed missing `selectionMode` and `rowHeight` properties for `org.jdesktop.swingx.JXTable` SwingX component.
- Minor bugs fixed.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2017.2.

## 6.0.1

### Bugs fixed

- Eclipse plug-in: Fixed "Class/method not found" errors when creating actions or event handlers (regression in 6.0).
- Eclipse plug-in on Linux: Avoid crash when running Eclipse under GTK+ 3 by forcing usage of GTK+ 2.
- Eclipse plug-in on Linux: Fixed crash when using GTK+ look and feel (which is now no longer available in JFormDesigner when running in Eclipse).
- Eclipse plug-in: Fixed rare deadlock when opening a form.
- Eclipse plug-in: Fixed rare `SWTException: Widget is disposed` error when closing a form.
- IntelliJ IDEA plug-in on Mac: Fixed rare `NullPointerException: textInactiveText`.
- Stand-alone on Linux: Fixed `Syntax error: "(" unexpected` when launching `JFormDesigner.sh`.
- Stand-alone on Mac: Fixed starting JFormDesigner if Java 9 is installed.
- Mac: Fixed painting of handles on Retina displays.
- Minor fixes for the Darcula L&F.
- JTabbedPane: Tab background and foreground colors were not used in "Test Form" and in runtime library.
- Minor bugs fixed.

### Other Changes

- Updated JRE in Windows setup to Java 8 Update 131.

## 6

### New Features and Improvements

- MigLayout support.
- Support for HiDPI monitors (scaled UI and images).
- New modern icons (including 2x resolution).
- Stand-alone: New modern user interface.
- Stand-alone: New "Wide Layout" option shows Properties and Structure views side by side.
- IntelliJ IDEA plug-in: Darcula theme support improved.
- NetBeans plug-in: Support Darcula L&F (requires Darcula LAF plug-in).
- Design view: Improved grid selection figure (handles always at cell bounds).
- Properties view: Improved property editors for data types `Dimension`, `Insets`, `Point` and `Rectangle`.
- Properties view: Color editor now supports hex color values (e.g. `0x00ff00` or `0xaa00ff00`).
- Properties view: Search for multiple property names.
- Look and Feels: Highlight application L&F in toolbar combobox.
- Increment/decrement numbers in text fields using Up/Down keys (Ctrl+Up and Ctrl+Down in multi-line text fields).
- Command-line tool: Batch convert layout managers (e.g. from FormLayout to MigLayout).
- Code generator can now write IntelliJ IDEA non-nls tags (`//NON-NLS`). Enable it in the Preferences dialog.
- Stand-alone on Linux: Now using GTK+ look and feel.

### Bugs fixed

- GroupLayout: Fixes in layout design (from NetBeans 8.1 and 8.2).
- Eclipse plug-in: Test form window did not receive focus.
- Eclipse plug-in: Resize Eclipse Preferences dialog when it is too small for JFormDesigner option pages.
- NetBeans plug-in: Resize NetBeans Options dialog when it is too small for JFormDesigner option pages.
- Disabling project specific "Java Code Generator > Layout Managers" settings did also disable project specific "GridBagLayout" settings.

### Other Changes

- System Requirements: Oracle Java 6, 7 or 8 required.
- System Requirements: Eclipse 3.2 - 3.5, Eclipse 3.x Carbon and Motif, IntelliJ IDEA 9.0 - 11.1 and NetBeans 7.0 - 7.1 no longer supported.
- Dropped JBuilder plug-in.
- Dropped "Show Diagonals" and "Squint Test".
- Dropped Abeille forms converter.
- Dropped JGoodies UIF lite components.

## 5.2.5.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2016.3.

## 5.2.5

### New Features and Improvements

- Updated JRE in Windows setup to Java 8 Update 112.

### Bugs fixed

- Minor bugs fixed.

## 5.2.4.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Fixed broken NullPointerException when updating GotoJfdOrJavaAction.
- Do not use SwingX classes bundled with IDE to avoid possible version conflicts with SwingX library in own projects.

## 5.2.4

### New Features and Improvements

- Eclipse plug-in: Support for Eclipse 4.6.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2016.2.
- IntelliJ IDEA plug-in: Show exception stack trace in "Convert to JFormDesigner form failed" dialog.
- Updated JRE in Windows setup to Java 8 Update 92.

### Bugs fixed

- NetBeans plug-in: Fixed NoClassDefFoundError exception when using dependencies with scope "provided" in maven projects.
- IntelliJ IDEA plug-in: Fixed NPE when closing a form in IntelliJ IDEA 2016.2.
- IntelliJ IDEA plug-in: Fixed "Read access" errors when converting IDEA forms to JFormDesigner forms.
- Stand-alone: Fixed "IllegalArgumentException: proportional location must be between 0.0 and 1.0." at startup.
- Minor bugs fixed.

## 5.2.3

### New Features and Improvements

- IntelliJ IDEA plug-in: Basic HiDPI support (scaled icons, larger handles, fixed tree and table row heights, etc).
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 2016.1.
- Updated JRE in Windows setup to Java 8 Update 74.

### Bugs fixed

- Properties view did not remember last used grouping.
- Properties view: Fixed dead table after clearing filter while editing JFrame "Size Policy" property.
- IntelliJ IDEA plug-in: Fixed exceptions in class NimbusStyle when using Nimbus look and feel.
- Eclipse plug-in on Mac OS X: Fixed occasional dead lock when updating .java file after changing property value (e.g. if form contains a TitledBorder).
- Stand-alone: Fixed mixed line separators (LF and CR LF) in properties files if platform default line separator is different to existing line separators in properties file.

## 5.2.2.2 (IntelliJ IDEA and Eclipse plug-ins only)

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 15.
- IntelliJ IDEA plug-in: Fixed broken "Configure IDE/Project Specific settings" links in Settings dialog (IntelliJ IDEA 14.1 and later).
- Eclipse plug-in on Mac OS X: Fixed occasional dead lock when opening forms (Eclipse 4.4 and later).

## 5.2.2.1 (JDeveloper plug-in only)

- JDeveloper plug-in: Support for JDeveloper 12.2.1 and 12.1.3.
- JDeveloper plug-in: Fixed "Rule id node-selected-in-navigator-or-open-in-editor referenced in extension com.jformdesigner is not defined in it, or any of its dependencies" error.

## 5.2.2

### Bugs fixed

- FormLayout: Columns/rows were not marked with a light-red background in the column/row header when having zero size (since 5.2).
- GroupLayout: Fixed StackOverflowError at SwingLayoutBuilder.convertSize().
- null layout manager did accept non-visual components and windows.
- IntelliJ IDEA plug-in: Fixed display errors after switching IntelliJ IDEA UI theme.
- IntelliJ IDEA plug-in: Fixed occasional blocked UI when checking for updates using HTTP proxy.
- Eclipse plug-in: Fixed endless "Loading..." problem when restoring minimized views (Eclipse 4.x only).
- Eclipse plug-in: Fixed layout of Import, Export, Restore Defaults and Apply buttons in Preferences dialog (since Eclipse 4.5).
- Eclipse plug-in on Mac OS X: Modal Swing dialogs did not receive focus (Eclipse 4.x on Java 7+ only)
- NetBeans form converter: Remove empty type parameters.

### Other Changes

- IntelliJ IDEA plug-in: Improved support for IntelliJ IDEA 14.1.
- IntelliJ IDEA plug-in: Improved colors for Darcula look and feel.
- Updated JRE in Windows setup to Java 8 Update 45.

## 5.2.1

### Bugs fixed

- Eclipse plug-in on Windows: Fixed editor/view activation when running Eclipse on Java 7 or later.
- Eclipse plug-in on Mac OS X: Fixed focus/editing issue when running Eclipse on Java 7 or later.
- Minor bugs fixed.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 14.
- Stand-alone on Mac OS X: Use Oracle Java 7 or 8 (if installed) to run JFormDesigner.
- Updated JRE in Windows setup to Java 8 Update 25.

## 5.2.0.3 (Eclipse plug-in only)

- Eclipse plug-in on Mac OS X: Fixed load error of XML formatted .jfd forms when running JFormDesigner in Eclipse 4.4 on Java 7u55 or later.

## 5.2.0.2 (NetBeans plug-in only)

- NetBeans plug-in: Fixed occasional problem that the Java code of a form was no longer saved to disk (NetBeans 8.0 only).

## 5.2.0.1 (NetBeans plug-in only)

- NetBeans plug-in: Fixed "NoClassDefFoundError: org/jdom/input/SAXBuilder" when converting NetBeans form.

## 5.2

### New Features and Improvements

- JDeveloper plug-in.
- Java 8 support: Use lambda expressions for events.
- JGoodies Forms 1.6, 1.7 and 1.8 support.
- GroupLayout: Many improvements and fixes in layout design (from NetBeans 7.2, 7.3, 7.4 and 8.0).
- Toolbar added to tree file chooser dialog (Go to Home/Project Folder, New Folder, Show Hidden Files and Folders, Refresh commands).
- Forms converter: Remove member variable prefix from component names if a prefix is specified in Java Code Generator preferences.
- Stand-alone: Support hidden folders in project source folders and classpath.
- IntelliJ IDEA plug-in: Enabled search for JFormDesigner options in Settings dialog.
- IntelliJ IDEA plug-in: Added "Configure IDE Settings" and "Configure Project Specific Settings" links to some settings pages.
- NetBeans plug-in: Enabled filter for JFormDesigner options in Options dialog (NetBeans 7.3 and later).

### Other Changes

- Updated JGoodies Forms to 1.8.0.
- Updated JGoodies Looks to 2.6.0.
- Updated IntelliJ IDEA GridLayout to 12.1.6 (equal to 13.0).
- Updated JRE in Windows setup to Java 8 Update 5.

## 5.1.3.3 (Eclipse plug-in only)

- Eclipse plug-in on Mac OS X: Fixed load error of XML formatted .jfd forms when running JFormDesigner in Eclipse 4.4 on Java 7u55 or later.

## 5.1.3.2 (NetBeans plug-in only)

- NetBeans plug-in: Fixed occasional problem that the Java code of a form was no longer saved to disk (NetBeans 8.0 only).

## 5.1.3.1 (NetBeans plug-in only)

- NetBeans plug-in: Fixed "NoClassDefFoundError: org/jdom/input/SAXBuilder" when converting NetBeans form.

## 5.1.3

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed "IllegalArgumentException: Width and height must be >= 0" in Binding dialog when using IntelliJ or Darcula look and feel.
- IntelliJ IDEA plug-in: Fixed inactive tool window splitters if a JPopupMenu or JMenu component is in the active form (IntelliJ IDEA 12 and later).
- NetBeans plug-in: Fixed occasional FileAlreadyLockedException in Java code generation.
- NetBeans plug-in: Fixed occasional NullPointerException when marking a form as modified.
- NetBeans plug-in: Beans.isDesignTime() did not return true when running NetBeans in a Java 7 or later VM.
- Eclipse plug-in: Fixed memory leak (on Windows only; Java 6 or later).
- Java code generator: Fixed invalid FormLayout column specification `$growing-button`.
- Fixed NullPointerException when using JIDE component ColorExComboBox (and others).

### Other Changes

- Updated JRE in Windows setup to Java 7 Update 55.

## 5.1.2

### Bugs fixed

- Changing font property of JSpinner component did not always update design view.
- Runtime library and Test form: Fixed NoSuchMethodException: DefaultComponentFactory$TitleLabel.setTextWithMnemonic("&text") when having JGoodies components in form (since 5.1.1).
- Java code generator: Fixed missing "bundle" variable if i18n only used in beans binding (since 5.1.1).
- NetBeans forms converter: Fixed conversion of top-level menu bars in non-JFrame forms.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 13.
- IntelliJ IDEA plug-in: Support IntelliJ look and feel.
- Updated JRE in Windows setup to Java 7 Update 45.

## 5.1.1

### Bugs fixed

- Java code generator: Fixed missing "bundle" variable in initComponentsI18n() method when using custom 'getString' template.
- Java code generator: Listener methods are now ordered alphabetically.
- Java code generator: Invoke initComponentsI18n() before pack().
- Java code generator: No code generated for JTabbedPane.setDisabledIconAt() under special circumstances.
- Java code generator and FormCreator: JTabbedPane.setSelectedIndex() was invoked before adding tabs.
- Binding groups without children causes issues in the Bindings view.
- Border editor dialog: Catch exceptions that occur in painting border preview.
- IntelliJ IDEA plug-in: Fixed NPE in StructureViewWrapperImpl.setFile() (since IntelliJ IDEA 12.0.2).
- NetBeans plug-in: Support resources directory in Maven projects.
- Eclipse plug-in on Mac OS X: Support running JFormDesigner in Eclipse on Mac OS X Java 7 VM. Requires class sun.lwawt.macosx.CViewEmbeddedFrame in Java 7. At date of release, this class was only available in JDK 7u12 Developer Preview (1.7.0_12-ea) (from https://jdk7.java.net/download.html), but not in Java SE 7u21 (from oracle.com). See also Java Bug 7154778 and Eclipse Bug 374199.
- Eclipse plug-in: Fixed NullPointerException when using "New Editor" command.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 12 and 12.1.
- IntelliJ IDEA plug-in: Support Darcula look and feel.
- Updated JRE in Windows setup to Java 7 Update 21.

## 5.1.0.2 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Forms were not saved in IntelliJ IDEA 12 EAP.

## 5.1.0.1 (NetBeans and IntelliJ IDEA plug-ins only)

- NetBeans plug-in: Automatic refresh of designers on project classpath changes or project builds did not work.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 12 EAP.

## 5.1

### New Features and Improvements

- NetBeans plug-in.
- Java 7 support: Use diamond operator if source compatibility is set to Java 7. Automatically use type parameter `<String>` for `ComboBoxModel<E>`, `JComboBox<E>`, `ListModel<E>` and `JList<E>` if model property is set.
- JGoodies Forms 1.4 and 1.5 support.
- GroupLayout: Many improvements and fixes in layout design (from NetBeans 7.1).
- Palette: Display multiple items per row if there is enough room.
- Palette: New option "Item Names" in context menu to show only item icons.
- New JFDML persistence format for .jfd form files. This is a compact, easy-to-merge and fast-to-load format.
- New preferences page "GridBagLayout" supports specification of default properties for new columns/rows.
- I18n: Added localization preferences option "Format used for generated keys".
- I18n: Support XML resource bundles.
- Java code generator: Added preferences options "Variable modifiers" and "Event handler modifiers".
- Java code generator: Added "Variable Annotations" property to ButtonGroup objects.
- Added property editor for `java.lang.Class`.
- Added code templates for `java.awt.Frame` and `java.awt.Window` to "Java Code Generator > Templates" preferences.
- Forms converter: Batch convert all forms in selected folders (Eclipse, IntelliJ IDEA and NetBeans plug-ins only).
- NetBeans forms converter: Support conversion of NetBeans 7.1 GridBagLayout gaps and FlowLayout.alignOnBaseline.

### Bugs fixed

- TitledBorder and JGoodies Titled Separator used different font in Design view (bold) than in application (on Windows).
- Nesting "this" component in panel was not handled properly.

### Other Changes

- Updated JGoodies Forms to 1.4.2.
- Updated JGoodies Looks to 2.4.2.
- Updated IntelliJ IDEA GridLayout to 11.1.1.
- IntelliJ IDEA plug-in: Use IntelliJ IDEA 10.x button-less scroll bars.
- Changed license of runtime library from BSD-3-Clause to BSD-2-Clause.
- Dropped Java 1.4 edition of runtime library (jfd-loader14.jar).
- Updated JRE in Windows setup to Java 7 Update 3.

## 5.0.4.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: JFormDesigner help was not available in IntelliJ IDEA 11.1 Ultimate Edition.

## 5.0.4

### Bugs fixed

- Fixed NullPointerException in Java code generator if no PropertyEditor is available (since 5.0.3).
- JBuilder plug-in: Fixed NullPointerException in code generation when converting a form that contains menu separators.

### Other Changes

- Updated JRE 6 in Windows setup to JRE 6 Update 31.

## 5.0.3

### Bugs fixed

- Fixed failure of JIDE extensions initialization when JIDE library path contains spaces.
- Catch NoClassDefFoundError when getting BeanInfo to fix strange behavior of Binding dialog if a referenced class is not found in classpath.
- Minor bugs fixed.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 11.1.
- Invoke method "public String getJavaPostInitializationString(String componentName, String propertyName)" in java.beans.PropertyEditor implementations to get property post initialization Java code.

## 5.0.2.3 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 11.1 EAP build 114.55.

## 5.0.2.2 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Project specific JFormDesigner settings were not reloaded on startup (throws ClassCastException: java.lang.Object cannot be cast to org.jdom.Element).

## 5.0.2.1 (IntelliJ IDEA plug-in only)

- IntelliJ IDEA plug-in: Editing Java custom code properties displayed empty dialogs under special circumstances in IntelliJ IDEA 10.5 (and later) on Mac OS X.

## 5.0.2

### Bugs fixed

- Fixed NullPointerException when opening Binding dialog and using a property that has a custom property editor.
- I18n: JTabbedPane tab titles were not always auto-externalized.
- Eclipse plug-in: Look and Feels or Locales combobox drop-down list (in Designer toolbar) occasional closed immediately after popping up.
- IntelliJ IDEA plug-in: Creating new form with OK/Cancel/Help buttons and i18n enabled did not add the OK/Cancel/Help texts to the resource bundle.
- Mac OS X: Binding dialog was too small (Edit and Remove column buttons on "Table Binding" tab were hidden).
- ListModel: Added @Override annotation to implemented interface methods if source compatibility is Java 6.
- Color editor: Fixed issue with selecting System or Swing palette colors when running JFormDesigner in Java 7 VM.
- Java code generator: Fixed generation of invalid code if "Custom Create" and "Use Local Variable" properties are set to true.
- Java code generator: Fixed generation of invalid code if "Type Parameters" and "Nested Class Name" properties are set.
- Java code generator: Update type parameters in extends clause of form/nested class when changing "Type Parameters" property.
- NetBeans forms converter: Support conversion of TreeModel and String[] property values.
- NetBeans forms converter: Fixed missing trailing ';' in "Custom Creation Code" property.
- NetBeans forms converter: Fixed NullPointerException when converting default LineBorder.
- NetBeans forms converter: Fixed invalid generated code if an event has more than one handler method.
- "Unknown property" dialog were shown for inactive forms.

### Other Changes

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 11.
- `MatteBorder(Icon)` without insets is now supported.
- Warning when trying to open a JFDML form file, which requires JFormDesigner 5.1 or later.
- Updated JRE 6 in Windows setup to JRE 6 Update 29.

## 5.0.1

### Bugs fixed

- Wildcards did not work in "Choose Bean" dialog when pattern starts with uppercase letter.
- Properties view: Used localized decimal separator (e.g. ',' on German OS) for editing double and float values, but always '.' for displaying them.
- Properties view: Clicking on number value did not position the caret at the mouse location.
- Fixed NullPointerException when using TitledBorder and running JFormDesigner in a Java 7 VM.
- Fixed StackOverflowError when having a GridBagLayout panel within an IntelliJ IDEA GridLayout panel and disabled layout animation.
- Fixed occasional NullPointerException when having a JTabbedPane within an IntelliJ IDEA GridLayout panel and using Nimbus look and feel.
- Eclipse plug-in: Test form window occasional moved behind Eclipse window.
- IntelliJ IDEA plug-in: "Go to form/java" toolbar command always opened file in same tab group even if file was already open in another tab group (IntelliJ IDEA 10 or later only).
- IntelliJ IDEA plug-in: "Convert to JFormDesigner Form" progress window blocked other dialogs.
- IntelliJ IDEA plug-in: Raw HTML were shown in Binding dialog tab title "Table Binding" when using IDEA 4.5 Look and Feel.
- Java code generator: Avoid duplicate ButtonGroup instantiation when using non-local button group variable.
- Windows 7: Fixed window decorations used in Designer when designing dialogs or frames.

### Other Changes

- Windows Stand-alone: Added x64 executables.
- Updated GroupLayout (swing-layout.jar) to 1.0.4.
- Updated JRE 6 in Windows setup to JRE 6 Update 26.

## 5.0.0.1 (IntelliJ IDEA plug-in only)

### Bugs fixed

- IntelliJ IDEA plug-in: IntelliJ IDEA 10 and 10.5 sometimes did no longer respond to mouse clicks after using source/target path combobox in Bindings dialog (throws NullPointerException in com.intellij.ui.BalloonImpl).

## 5

### New Features and Improvements

- Beans Binding (JSR 295) support.
- BeanInfo annotations.
- Properties view: Ability to filter properties added.
- Properties view: "Group by Category", "Group by Defining Type" and "Alphabetical" commands introduced to allow grouping of bean properties into categories (normal, expert, read-only and custom categories specified in BeanInfo); into defining types (e.g. JTextField, JTextComponent, JComponent, Container, Component); or alphabetically.
- Properties view: Support for property categories specified in PropertyDescriptor of BeanInfo.
- Properties view: Show changed properties even if containing category is collapsed.
- Properties view: Moved "Code Generation" properties from own tab to category into properties table.
- Properties view: Added "Force Value" command to property context menu. If checked, it forces setting of property value even if it is equal to the default property value.
- GroupLayout: "Duplicate" command added.
- GroupLayout: Added layout constraints properties for space around component.
- JGoodies Forms 1.3 support.
- FormLayout: Auto-detect version of used JGoodies Forms library and generate appropriate Java code.
- FormLayout: Added option "Make anonymous PanelBuilder JPanel transparent" to "Java Code Generator > Layout Managers" preferences page.
- BorderLayout: Support relative positioning (with PAGE_START, PAGE_END, LINE_START and LINE_END constraints).
- Support for using non-public JavaBeans and interfaces in Design view. Non-public JavaBeans must be in the same package as the form or a nested static class of the form class. Interfaces are not initialized in the generated Java code. You have to do this yourself before invoking initComponents().
- "Choose Bean" dialog now displays additional information about matching classes: modifiers (as icon), class hierarchy (in tooltip), number of matching classes and used filter.
- "Choose Bean" dialog now supports camel-case search.
- "Choose Bean" dialog now highlights characters that match the filter pattern.
- "Classpath Info" link added to "Choose Bean" dialog, which shows the resolved classpath used by JFormDesigner.
- Clicking on a JScrollPane in Design view now selects its child.
- Simplified handling of JScrollPanes: now you can select the child of a JScrollPane and change layout properties of the JScrollPane in the Properties view and using the context popup menu.
- Automatically reload custom components when changed.
- Automatically refresh designers on project classpath changes.
- Added "Events" property to Properties view. No longer display events in Structure view.
- "Add Event Handler" popup menu improved.
- Eclipse plug-in: The Java code generator can now use the Eclipse code formatter to format generated code. Enable option "Use Eclipse code formatter" in "Java Code Generator" preferences.
- Eclipse plug-in: Support creation of forms in non-Java projects (e.g. in a Pydev project).
- Eclipse plug-in preferences: Improved filter for JFormDesigner preference pages.
- Java code generator: Better support for custom creation of components (e.g. using factories) with new property "Custom Create" (category "Code Generation"). When checked for a component, you can write your own component creation code into the method createUIComponents().
- IntelliJ IDEA forms converter now supports nested forms and the "Custom Create" flag. The new option "Form class extends top-level container" changes the extends clause of the converted form to extend the top-level container, which is necessary for nested forms.
- NetBeans forms converter now supports forms that use Swing Application Framework resource management.
- Palette: Remembers expanded categories per form.
- Project specific settings.
- Added property editor for string arrays.
- I18n: Support localization of string arrays.
- I18n: Externalization of forms from command-line.
- Look and Feels: Added option "Enable Look and Feel switching" to "Look and Feels" preferences page, which allows you to disable Look and Feel switching if it causes problems.
- Preferences: Support definition of client properties for multiple component classes.
- Runtime library: Automatically use `javax.swing.GroupLayout` if running in Java 6 VM.
- Stand-alone: Show file paths in "Reopen Project" and "Reopen Form" submenus.
- Stand-alone: Improved startup script for Unix/Linux based systems.
- Added "Tab Background" and "Tab Foreground" properties for JTabbedPane components.
- Added "Help" button to dialogs.
- Automatically check for available updates and new versions of JFormDesigner.
- Unified look of Palette view for all platforms.
- Support for using custom beans compiled for Java 6+ while running JFormDesigner in a Java 5 VM (when the custom beans does not use Java 6+ API).
- Updated JGoodies Looks to 2.3.1.

### Bugs fixed

- JARs on the project classpath were locked after loading custom beans.
- I18n: Some properties were not included in the Externalize Strings dialog.
- I18n: Avoid overwriting existing messages on message key conflicts.
- Changes to properties of javax.swing.Action objects did not update connected components in Design view (e.g. JButton) if running JFormDesigner in a Java 6 VM.
- NetBeans form converter: Fixed occasional error when converting NetBeans 6.9+ forms.
- Stand-alone on Mac OS X: JFormDesigner canceled Log Out and Shut Down even when there were no unsaved forms.
- Eclipse plug-in: Fixed occasionally empty file view in file chooser dialogs.
- Eclipse plug-in: Editing some properties (e.g. icon) set the property value to null under special circumstances.
- IntelliJ IDEA plug-in: Fixed dead-lock on start-up of IntelliJ IDEA 10 with installed Clover plug-in and enabled Clover auto-update checking.
- IntelliJ IDEA plug-in: Fixed occasional NullPointerException in com.jformdesigner.KS.getState().
- Windows: Fixed painting of JRadioButtonMenuItem and JCheckBoxMenuItem on Windows Vista/7.
- Windows: Fixed invisible texts (of labels, buttons, etc.) in Design view on Windows XP and Java 6.

### Other Changes

- System Requirements: Sun/Oracle Java 5 or later; Eclipse 3.2 - 3.6; IntelliJ IDEA 8 - 10; JBuilder 2006.
- Updated JRE 6 in Windows setup to JRE 6 Update 24.

## 4.0.9

### Bugs fixed

- I18n: Support resource bundles that have '_' in its name.
- I18n: On internalize, avoid removal of externalized strings from resource bundle if still used in form.
- Stand-alone: When changing the screen resolution, the Structure and Properties views were occasionally not visible after restart.
- Loading forms failed when running JFormDesigner in a Java 7 EA VM.
- Using FormCreator in custom components caused java.lang.NoSuchMethodError exceptions when using the custom component in JFormDesigner.
- Fixed layout of vertical JMenuBar.
- Fixed wrong layering of JLayeredPane children in Design view after re-open or refresh a form.
- `java.beans.Customizer` implementations did not persist primitive properties.
- Linux: Fixed add, move and reject cursor images.
- Windows setups no longer require administrator rights.

### Other Changes

- Updated JRE 6 in Windows setup to JRE 6 Update 22.

## 4.0.8

### Bugs fixed

- GroupLayout: Adding multiple instances to a form (holding down Ctrl key; Command key on Mac) did not always work as expected.
- GroupLayout: Improved baseline alignment behavior.
- GroupLayout: When adding or moving a component, in some situations a medium or large gap of another component was changed to a small gap.
- GroupLayout: Improved generated code for labels and buttons with HTML content.
- GroupLayout: linkSize() statements did not have fixed order.
- GroupLayout: Avoid ambiguous GroupLayout compiler warning when using swing-layout.jar and Java 6 compiler.
- GroupLayout: Minor bugs fixed.
- Windows Vista: Combo boxes did not paint focus indicator.
- Eclipse plug-in: Ctrl+X, Ctrl+C, Ctrl+V and Ctrl+A did not always work in JFormDesigner views (in Eclipse 3.5 and later).
- Eclipse plug-in: The classpath used for the "Choose Bean" dialog did not include all direct dependent projects on complex project dependencies (since 4.0.7).
- Eclipse plug-in: On Windows, sometimes two mouse clicks were necessary to activate a palette entry or to activate another JFormDesigner view.
- Eclipse plug-in on Mac OS X: Improved integration into Eclipse Mac Cocoa edition.
- Eclipse plug-in on Mac OS X: In the Eclipse Mac Carbon edition, the main window occasionally stayed always on top of all other windows.
- IntelliJ IDEA plug-in: Command "New > JFormDesigner Form" was not shown in Packages view (Project tool window) context menu when having same package in different source folders.
- IntelliJ IDEA plug-in: "Reset" button in Settings dialog did not work.
- IntelliJ IDEA plug-in: JFormDesigner did not use changed project or module language levels (in IntelliJ IDEA 8.0 and later).
- IntelliJ IDEA plug-in: Fixed occasional exception in Structure view after closing last editor.
- JBuilder plug-in: External read-only state changes of form files were not detected.
- IDE plug-ins: Palette was not updated in all opened form designers when using "Palette Manager" dialog.
- Using MiG Calendar components did cause errors on save when running JFormDesigner in Java 6 Update 15 VM (and later) or in Java 5 Update 20 VM (and later).
- Java code generator: Added @Override annotation to implemented interface methods if source compatibility is Java 6.
- Java code generator: Avoid unused constraints variables for FormLayout and GridBagLayout if the container does not have children.
- Java code generator: Avoid unused import statements for FormLayout, GridBagLayout, IntelliJ IDEA GridLayout and TableLayout when using generation of explicit imports.
- I18n: No longer escape printable ISO 8859-1 characters (e.g. German umlauts) in .properties files.
- Client property editor did not work for value type `java.lang.Object` and subclasses (e.g. `java.awt.Component`).
- NetBeans form converter: Fixed NPE when converting NetBeans forms that use automatic resource management and the Swing application framework.
- NetBeans form converter: Detect form superclass from Java source.
- Mac OS X: Fixed erroneously reported ClassNotFoundException for com.apple.laf.AquaLookAndFeel when using JIDE components 2.7.2 (or later) on Mac OS X 10.5 (or earlier) and running JFormDesigner in a Java 5 VM.
- Runtime library: Fixed NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group exception. swing-layout.jar is no longer required.
- Fixed StackOverflowError when saving a form, after refreshing it, that uses a custom border in a TitledBorder.
- Minor bugs fixed.

### Other Changes

- System Requirements: IntelliJ IDEA 5.0 no longer supported.
- Updated JRE 6 in Windows setup to JRE 6 Update 20.
- Updated JRE 5 in Windows setup to JRE 5 Update 22.

## 4.0.7.2 (IntelliJ IDEA plug-in only)

### New Features and Improvements

- IntelliJ IDEA plug-in: Support for latest IntelliJ IDEA 9 Preview builds (Community Edition and Ultimate Edition build 90.122).

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed occasional NullPointerException when creating new forms.
- IntelliJ IDEA plug-in: Check marks for "Auto-close Test Forms" and "Show Test Form Size" toggle commands were not shown in "Test Form" toolbar popup menu.
- Minor bugs fixed.

## 4.0.7.1 (IntelliJ IDEA plug-in only)

### Bugs fixed

- IntelliJ IDEA plug-in: IntelliJ IDEA 8.1 (and earlier) did not start the JFormDesigner plug-in because it thought that it is not compatible (since 4.0.7).

## 4.0.7

### New Features and Improvements

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 9.0M1.

### Bugs fixed

- Using MiG Calendar components did cause errors on save when setting some properties (e.g. `DateAreaBean.labelPlaceRect` or `DateHeaderBean.cellDecorationRow`).
- Eclipse plug-in: Cycle project dependencies sometimes caused StackOverflowErrors.
- IntelliJ IDEA plug-in: Fixed ClassCastException that may occur when converting several IntelliJ IDEA forms to JFormDesigner forms.
- Java code generator produced invalid code for nested FormLayout containers if both options "Use PanelBuilder in generated code" and "Use 'this' for member variables" were enabled.
- Java code generator produced uncompilable code when using local component variables and generating text initialization into initComponentsI18n() method.

### Other Changes

- Updated JRE 6 in Windows setup to JRE 6 Update 16.
- Updated JRE 5 in Windows setup to JRE 5 Update 20.

## 4.0.6

### Bugs fixed

- I18n: Choosing a resource bundle did generate a wrong package for the bundle in the Eclipse plug-in or if the bundle is in the root of a source folder in all editions (since 4.0.5).

### Other Changes

- Updated JRE 6 in Windows setup to JRE 6 Update 14.
- Updated JRE 5 in Windows setup to JRE 5 Update 19.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_19.

## 4.0.5

### New Features and Improvements

- Eclipse plug-in: Support for Eclipse 3.5 (Galileo).
- Eclipse plug-in: Support for multi-instance (pinned) properties views in Eclipse 3.5.

### Bugs fixed

- Fixed various Nimbus look and feel related issues.
- GroupLayout: Auto-correct invalid preferred size.
- I18n: Choosing a resource bundle in a nested source folder did generate a wrong package for the bundle.
- I18n: Compose key sequences, which can be used to enter accented and other non-standard characters, did not work correctly in the "Localize" dialog.
- JSplitPane: Design view used wrong default value (0.5) for property "resizeWeight" (should be 0.0).
- JSplitPane: Changing property "resizeWeight" did not update Design view.
- JScrollPane: Changed preferred size of non-scrollable child did compute a wrong preferred size for scroll pane if horizontal and vertical scroll bar policies are "as needed".
- Java code generator sometimes produced unnecessary `import java.lang.*;` statements.
- Eclipse plug-in: Fixed occasional deadlock on opening forms that have unknown properties.
- IntelliJ IDEA plug-in: When using JIDE components, the IDE erroneously reported ClassNotFoundExceptions for AquaLookAndFeel and other look and feel classes.
- Layout of some dialogs (e.g. Choose Bean, Preferences) was not correct when running JFormDesigner on Java 6 and using not the platform look and feel (e.g. JGoodies Looks on Windows) in the Design view.
- Designer did not display correctly when a custom component throws an exception in its overridden addNotify() method.

## 4.0.4

### New Features and Improvements

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 8.1.

### Bugs fixed

- Mac OS X: Fixed display of too large toolbar and palette buttons.
- IntelliJ IDEA plug-in on Mac OS X: When using the Quaqua look and feel that is bundled with IntelliJ IDEA 7 (and later), then designing with GroupLayout did not work. Also, the Border, Color, Font and Icon property editors dialogs did not open.
- NetBeans form converter: Fixed import of CompoundBorder.
- Java code generator produced uncompilable code when using nested class as custom border.
- Java code generator produced duplicate event handler methods if parameter of event handler method is final.

### Other Changes

- Updated JRE 6 in Windows setup to JRE 6 Update 12.
- Updated JRE 5 in Windows setup to JRE 5 Update 17.

## 4.0.3

### New Features and Improvements

- Added "Show Test Form Size" option to "Test Form" drop-down menu.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 8.1 EAP.

### Bugs fixed

- GroupLayout: When resizing a top-level panel in designer, the generated code did not reflect the correct new panel size.
- GroupLayout: Initial size of newly created form panel were not set correctly in generated code.
- GroupLayout: Resetting horizontal/vertical auto resizing of components did not work in some situations.
- GroupLayout: "Set Default Size" command did not work correctly for resizable components.
- GroupLayout: Layout constraints properties for horizontal/vertical size/resizable did no longer work after renaming the selected component (since 4.0.2).
- Eclipse and IntelliJ IDEA plug-ins: The classpath used by the designer did not include non-exported classpath entries from dependent projects. This caused NoClassDefFoundError exceptions when using beans from dependent projects, which use classes from non-exported libraries.
- Fixed Java code generation and persistence problem with Java 5 enum property values, which override Enum.toString().
- Stand-alone: Maximized state of JFormDesigner window were not restored on startup.
- Stand-alone: Fixed problem that sometimes placed the JFormDesigner window outside of the screen area on startup.

## 4.0.2.1 (IntelliJ IDEA plug-in only)

### Bugs fixed

- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 8.0.

## 4.0.2

### New Features and Improvements

- Properties view: Always show changed advanced properties even if the advanced properties are hidden.
- GroupLayout: Added layout constraints properties for horizontal/vertical size/resizable.
- Stand-alone: Added option "Encoding" to "Code Style" preferences.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 8.0 M1 and current Diana EAP build 8823.
- JBuilder plug-in: jbInit() converter now supports TableLayout.

### Bugs fixed

- GroupLayout: Fixed problem that did change the size of a GroupLayout container when adding new components to it.
- GroupLayout: Fixed problem that occasional reports an "Unknown component ID xyz used in GroupLayout specification" error message after deleting a GroupLayout container (since 4.0.1).
- GroupLayout: Some fixes related to center alignment and vertical resizing.
- GroupLayout: Adding a panel (with any layout manager except GroupLayout) to a GroupLayout container did give the new panel a zero size.
- GroupLayout: Copying a GroupLayout container (with children) did not copy the layout information and the children were not visible.
- FormLayout: Custom column/row templates were not added to the FormLayout root layout map in the designer.
- FormLayout: Changing custom column/row templates did not update them in the designer.
- Java code generator: Fixed generation of invalid GroupLayout initialization code when using member variable prefix or 'this' prefix for component variables.
- Java code generator: Fixed ArrayIndexOutOfBoundsException in application when using JGoodies Titled Separator in localized form (i18n) and generating text initialization into initComponentsI18n() method.
- Java code generator: When running JFormDesigner in a Java 7 EA VM, it did not generate code for some properties (background, foreground, font, visible, preferredSize, minimumSize, maximumSize, etc).
- Java code generator: Did not generate getter methods for non-referenced top-level components (e.g. actions).
- Eclipse plug-in did not work on 64-bit Windows Vista and XP.
- JBuilder plug-in: jbInit() converter did not always use up-to-date data when converting changed Java code.
- Stand-alone: Fixed exception when opening localized form while having non-existing folder in project source folders.
- Stand-alone: Fixed exception and unnecessary error messages when deleting multiple opened forms files.

## 4.0.1

### New Features and Improvements

- IDE plug-ins: Double-clicking Action object in Design view opens Java editor and goes to Action's actionPerformed() method.
- TableModel editor: Always enabled the Insert (and Delete) column/row buttons to allow easier editing of empty table models. E.g. when using SwingX JXTable.
- Updated JGoodies Forms to 1.2.1.

### Bugs fixed

- Fixed Java code generation of `boolean` properties when using Apache xbean-reflect.jar (e.g. in IntelliJ IDEA 7.0.4).
- Fixed potential ClassCastException in `com.jgoodies.forms.layout.LayoutMap.getRoot()` when two independent instances of the JGoodies Forms 1.2 library are loaded into same VM.
- Fixed paint problem when using SwingX JXPanel (or subclasses) and set "alpha" property.
- GroupLayout: Fixed problem that can corrupt forms when renaming a container that has GroupLayout and then rename a child component of that container.
- GroupLayout: "Test Form" command and runtime library did not show components that have been pasted from the clipboard but not laid out.
- GroupLayout: Fixed order of horizontal and vertical layout groups in generated Java code for components that have been pasted from the clipboard but not laid out.
- GroupLayout: Fixed indentation of generated Java code.
- FormLayout: Fixed wrong Dialog Unit calculation when switching to another look and feel in the designer.
- Fixed layout conversion problem with zero sized components when converting from GroupLayout to FormLayout.
- Eclipse plug-in: Using and creating resource bundles on linked folders did not work.
- IntelliJ IDEA plug-in: Fixed a problem that did prevent opening form editors on startup of IntelliJ IDEA, if the form uses SwingX JXHeader component.

## 4

### New Features and Improvements

- GroupLayout support (as in NetBeans GUI Builder; formerly Project Matisse).
- JGoodies Forms 1.2 support.
- Updating class name cache of "Choose Bean" dialog is now done in the background.
- Support for SwingX HorizontalLayout and VerticalLayout.
- Support for SwingX DropShadowBorder.
- Convert Abeille forms to JFormDesigner forms.
- Improved NetBeans form conversion (ListModel, SpinnerModel, ComponentRef, etc).
- IntelliJ IDEA and Eclipse plug-ins: The improved conversion of IntelliJ IDEA forms now removes IDEA's GUI code (e.g. $$$setupUI$$$() method and component fields) and also uses the same modifiers (public, private, protected, etc) for the new component fields as the removed fields. This makes the migration from IntelliJ IDEA GUI builder to JFormDesigner seamless.
- Improved usability of SpinnerModel property editor.
- Support for JTable.selectionMode property.
- Support for custom borders.
- I18n: Added localization preferences option "Delete messages only if key prefix is equal to form's key prefix", which is on by default.
- Java code generator: Support custom code indentation. The IDE plug-ins are using the IDE code style settings of the project or workspace. The stand-alone edition provides a "Code Style" preferences page.
- Java code generator: Support for JGoodies factory components text initialization in initComponentsI18n() method, which can be used to switch locale at runtime (requires JGoodies Forms 1.2).
- Java code generator: Support for invoking the JFormDesigner Java code generator from command-line.
- Improved keyboard navigation in Design view.

### Other Changes

- Updated JRE 6.0 in Windows setup to JRE 6.0 Update 6.
- Updated JRE 5.0 in Windows setup to JRE 5.0 Update 15.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_17.

## 3.1.4

### Bugs fixed

- Fixed Java code generation of `boolean` properties when using Apache xbean-reflect.jar (e.g. in IntelliJ IDEA 7.0.4).
- Eclipse plug-in: Using and creating resource bundles on linked folders did not work.
- IntelliJ IDEA plug-in: Fixed a problem that did prevent opening form editors on startup of IntelliJ IDEA, if the form uses SwingX JXHeader component.

## 3.1.3

### Bugs fixed

- Contents of custom dialogs/frames not shown in designer.
- Vista and Leopard dialog/frame borders in designer.
- "New Form" dialog did not remember the 'none' state for button bars in settings.
- Conversion from null layout to grid-based layout did not compute optimal column/row spans for multiple components.
- Clipboard: Paste frames/dialogs now always to the top-level.
- SpinnerDateModel editor did not show correct end date and changing end date was now always possible.
- CardLayout: Fixed NPE when trying to localize card name.
- Java code generator: Avoid unused import statements for FormLayout classes when using generation of explicit imports.
- Java code generator inserted unnecessary '}' at end of initComponents() in NetBeans 5.5+ generated .java files.
- Java code generator: Fixed possible wrong order of variables when using nested classes.
- Eclipse plug-in: Fixed occasional deadlock on opening forms when running Eclipse on Java 6.
- IntelliJ IDEA plug-in: Fixed occasional deadlock on running ANT build when running IntelliJ IDEA 7 on Java 6.

### Other Changes

- Updated JRE 6.0 in Windows setup to JRE 6.0 Update 4.
- Updated JRE 5.0 in Windows setup to JRE 5.0 Update 14.

## 3.1.2

### New Features

- Stand-alone edition: New icons for .jfd and .jfdproj files on Windows and Mac OS X.
- Mac OS X: Now using smaller fonts for palette, structure and properties views.

### Bugs fixed

- Mac OS X 10.5 (Leopard): Fixed missing selection in palette and fixed appearance of combo boxes in toolbar.
- Mac OS X: In-place-editing text field for frame and dialog titles now horizontally centered.
- Java code generator: Avoid unnecessary "bundle" variables when using own 'getString' templates in localization preferences.
- Java code generator: Assigning actions to buttons in nested classes did not work because the actions have been instantiated too late.
- Eclipse plug-in: Fixed casual activation of another view (Mac OS X only).
- IntelliJ IDEA plug-in: Fixed assertion when saving forms on project closing (since 3.1.1).
- Properties view: Changing "enabled" property of `javax.swing.Action` objects did not work.

## 3.1.1.1 (IntelliJ IDEA plug-in only)

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed deprecated method ProjectImpl.getProjectFile() usage error in IntelliJ IDEA 7.0.

## 3.1.1

### New Features

- Property editor for `java.awt.Paint`.
- I18n: Support specification of resource bundle key for TitledBorders.
- Support for `JViewport`.
- Java code generator: Possibility to specify whether to generate code on a form-by-form basis.
- Java code generator: Support for TableLayout implementation in another package.
- Eclipse plug-in: Added "Generate Java Code" command to designer toolbar.
- Updated JRE 6.0 in Windows setup to JRE 6.0 Update 3.
- Updated JRE 5.0 in Windows setup to JRE 5.0 Update 13.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_16.

### Bugs fixed

- FlowLayout properties not shown in Properties view when running on Java 1.4 or Java 5 (since 3.1).
- Eclipse plug-in did not work on 64-bit Linux (since 3.1).
- IntelliJ IDEA plug-in: Fixed IllegalAccessException: Class com.jformdesigner.yX can not access a member of class com.intellij.openapi.localVcs.LvcsAction$1 with modifiers "public".
- IntelliJ IDEA plug-in: Fixed assertion when using Perforce VCS.
- JBuilder plug-in: jbInit() converter replaced layout manager of custom beans, which already had set the layout manager in the bean constructor.
- JBuilder plug-in: "Add" buttons on "Native Library Paths" preferences page did not work.
- Stand-alone: Update unknown palette icons on project open.

## 3.1

### New Features

- Animated layout changes in Design view.
- Preferences page "General" added.
- Relative font specification.
- JBuilder 2005/2006 plug-in. (for JBuilder 2007 use the Eclipse plug-in)
- Support Java 6 baseline layout extensions of GridBagLayout and FlowLayout.
- Support abstract classes as superclass of forms.
- Support JavaBeans that use native libraries (e.g. JOGL). Added "Native Library Paths" page to the preferences.
- Properties view: Use spinner component as cell editor for number properties.
- Properties view: Improved keyboard editing: Space key starts editing; other keys replace old value.
- Added "no layout (GenericIndexLayout)" to list of layout managers in "New Container" dialog.
- Test form: If form uses CardLayout, then show same cards in the test form as in the Design view.
- Improved ButtonGroup member visualization.
- Support for ButtonGroup subclasses.
- Java code generator: Possibility to generate initComponentsI18n() method, which can be used to switch locale at runtime.
- Preferences: Added "Import" and "Export" buttons to the IDE plug-ins preferences/settings dialogs for importing and exporting of JFormDesigner .prefs files, which are compatible with all editions of JFormDesigner (IDE plug-ins and stand-alone).
- Preferences: Possibility to export parts of the preferences.
- Preferences: Added "Restore Defaults" button to preferences/settings dialogs of stand-alone edition and IntelliJ IDEA plug-in.
- Stand-alone: Possibility to change order of classpath entries in project dialog.
- Updated JGoodies Looks to 2.1.4.
- Updated JGoodies Forms to 1.1.
- Updated TableLayout to latest release (2007-03-06).
- The runtime library `jfd-loader.jar`, which can be used to load .jfd files at runtime, is now open source licensed under the BSD license. Source code and Javadoc are in the redist folder. `jfd-loader.jar` is now about 20kB larger because it is no longer obfuscated.

### Bugs fixed

- If a spinner component is focused in a dialog, the ENTER and ESC keys now work as expected and close the dialog.
- Properties view sometimes lost focus after editing a property value.
- Eclipse plug-in: Improved reliability and stability of Swing/SWT integration (especially on Mac OS X and Linux).
- Eclipse plug-in: Fixed StackOverflowError while calling X11 error handler, which sometimes occurred on Linux/GTK.
- Eclipse plug-in: When renaming a component in Outline view, the editing text field was not focused on Linux.
- Eclipse plug-in: Failed to open forms if xercesImpl.jar is in `<JRE>/lib/ext` folder.

## 3.0.5

### New Features

- Updated JRE 6.0 in Windows setup to JRE 6.0 Update 2.
- Updated JRE 5.0 in Windows setup to JRE 5.0 Update 12.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_15.

### Bugs fixed

- Java code generator: Fixed missing import statement for `javax.swing.JLayeredPane` when generating explicit imports.
- Java parser reported missing opening curly bracket for some field initialization code.
- Linux: Fixed NullPointerException on drag-and-drop in Structure view.
- Eclipse plug-in: Failed to open forms if something is wrong in the project's classpath.
- Eclipse plug-in: Failed to open forms under some circumstances with following message: "Attempted to beginRule: R/, does not match outer scope rule".
- IntelliJ IDEA plug-in: Fixed assertion when using Perforce VCS.
- Minor bugs fixed.

## 3.0.4.1 (IntelliJ IDEA plug-in only)

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed "old lvcs is disabled" errors when using IntelliJ IDEA 7.0 EAP build 6951 (or later).

## 3.0.4

### New Features

- Updated JRE 6.0 in Windows setup to JRE 6.0 Update 1.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_14.

### Bugs fixed

- IntelliJ IDEA plug-in: Fixed NoSuchMethodError errors when using IntelliJ IDEA 7.0 EAP build 6913 (or later).
- IntelliJ IDEA plug-in: Fixed exceptions when drag-and-drop components in Structure view in IntelliJ IDEA 7.0 M1 EAP (or later).
- Eclipse plug-in: Fixed occasional activating Eclipse window when switching to another application (since 3.0.1).
- Java code generator: Parser reported syntax error if component field annotation parameters contains '{' and '}' (Java 5).
- Java code generator: Fixed missing "bundle" variable when localizing only TitledBorder or JGoodies factory components (since 3.0.1).
- Java code generator: Insert event handler methods before Javadoc of initComponents() method.
- Minor performance improvements for initializing "Choose Bean" dialog.

## 3.0.3

### Bugs fixed

- Deleting components failed if the component or one of its descending components has Code Generation properties set (since JFormDesigner 3.0.2).
- GridBagLayout is now used as layout manager for button bars when creating new forms, except when using FormLayout or TableLayout for the content pane. This is to avoid the dependency on JGoodies FormLayout when using e.g. BorderLayout for the content pane.

## 3.0.2

### New Features

- Java code generator can now generate member variables and getter methods for `JToolBar.Separator` components.

### Bugs fixed

- IntelliJ IDEA plug-in: Check boxes not shown in popup menus if the menu item has another icon.
- Feedback grids for GridLayout placed at wrong coordinates if component orientation is right-to-left and horizontal gap is greater than zero.
- Could not edit TitledBorders imported from IntelliJ IDEA forms.
- Java code generator: Fixed generation of invalid import statements for nested classes if generation of explicit imports is enabled in the Java Code Generator preferences.
- Java code generator: Fixed code generation failure when using a spacer component in a JToolBar.

## 3.0.1

### New Features

- New Windows setup with bundled JRE 6.0.
- Updated JRE 5.0 in Windows setup to JRE 5.0 Update 11.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_13.
- Mac OS X: Support for the Quaqua look and feel.

### Bugs fixed

- Saving forms failed if non-visual beans have event listeners.
- Saving forms failed if color from Swing color palette is not available in current look and feel.
- Properties view not updated when removing events.
- Clicking JTabbedPane tabs in Design view did not activate tabs if tabLayoutPolicy is SCROLL.
- Eclipse plug-in: Closing JFormDesigner dialogs did activate random window when running Eclipse on Java 6.
- Eclipse plug-in: Fixed deadlock on opening multiple forms when running Eclipse on Java 6.
- Eclipse plug-in on Linux: Size of JFormDesigner editors and views not updated on resize when running Eclipse on Java 6.
- Hover selection not updated in Structure view on form changes.
- Feedback grids for GridLayout placed at wrong coordinates if component orientation is right-to-left or if the container has different sized insets.
- Shift+Click on column/row in header, when resize cursor is visible, did not select columns/rows between the last selected and the clicked column/row.
- Externalize Strings dialog: Locale combo was not updated after selecting a resource bundle.
- Client property values were auto-externalized in localized forms.
- Java code generator: Avoid unnecessary "bundle" variables in nested classes.

## 3

### New Features

#### Eclipse plug-in

- Designer integrated as Eclipse editor for JFormDesigner .jfd files.
- Eclipse "Outline" view displays structure of form.
- Eclipse "Properties" view displays properties of selected components.
- "JFormDesigner Error Log" view automatically opens on errors.
- Wizard to create new forms. Select "JFormDesigner Form" in the "New" wizard.
- Uses the source folders and classpath of the current Eclipse project.
- Java code generator updates the .java file on every change in the designer if the .java file is open or when saving the form.
- Fold generated code in Java editor.
- Go to event handler method in Java editor.
- Two-way synchronization of localized strings in designer and in properties file editors.
- Integrated into refactoring: Copy, rename, move or delete .jfd files when coping, renaming, moving or deleting .java files.
- Menu "Form" in the main menu bar if a .jfd file is active.
- JFormDesigner preferences integrated into Eclipse preferences.
- Copy needed libraries (JGoodies Forms, TableLayout, etc) to the project and add them to the classpath. Optionally include source code and Javadoc.
- Convert IntelliJ IDEA and NetBeans forms to JFormDesigner forms.
- Supports Eclipse 3.1, 3.2 or later (Mac OS X: Eclipse 3.2 and Java 6 DP 6 or later required; Linux: Java 5 or later required).

#### IntelliJ IDEA plug-in

- Designer integrated as IntelliJ IDEA editor for JFormDesigner .jfd files.
- IntelliJ IDEA "Structure" view displays structure of form.
- "JFormDesigner Error Log" view automatically opens on errors.
- Create new forms. Select "JFormDesigner Form" in the "New" popup menu.
- Uses the source folders and classpath of the current IntelliJ IDEA module.
- Java code generator updates the .java file on every change in the designer if the .java file is open or when saving the form.
- Fold generated code in Java editor.
- Go to event handler method in Java editor.
- Two-way synchronization of localized strings in designer and in properties file editors.
- JFormDesigner preferences integrated into IntelliJ IDEA settings.
- Assign shortcut keys to JFormDesigner commands in "Keymap" settings.
- Copy needed libraries (JGoodies Forms, TableLayout, etc) to the project and add them to the classpath. Optionally include source code and Javadoc.
- Convert IntelliJ IDEA and NetBeans forms to JFormDesigner forms.
- Supports IntelliJ IDEA 5.0, 5.1, 6.0 or later.

#### Localization

- Updating properties files without loosing comments and order of keys.
- Use of resource bundles in any folder (within source folders).
- Change of resource bundle used in form.
- Select existing keys. In the Properties view click the small globe in a String property value to open the "Choose Key" dialog.
- Log missing resources to Error Log view.
- "Delete Locale" command added.
- New preference option "Copy localized messages when copying components".
- New preference option "append new strings to the end of properties files".
- Reload properties files on external changes.
- Localization of mnemonics.
- Externalize strings to any locale.

#### Design view

- Column/row headers: Resizing of columns/rows to change (minimum) size.
- New "Nest in Container" command in component context menu.
- Added "Auto-close Test Forms" option to "Test Form" drop-down menu.
- Test Form: Embed form into scroll pane if preferred size is larger than screen size.
- null layout manager: move selected components with Ctrl+ArrowKey and change size with Shift+ArrowKey. New commands "Make Horizontal/Vertical Space Equal" added to popup menu. All alignment commands have now keyboard shortcuts.
- Added "Use local variable" check box to Rename dialog.
- Support adding PropertyChangeListener for a specific property.
- Support for IntelliJ IDEA's layout manager GridLayoutManager.

#### Structure view

- No longer expand and scroll to components, which are under the mouse location in the Design view.

#### Properties view

- Support Java 5 enums in property values.
- Easy creation of nested action classes (`javax.swing.Action`).
- Enhanced `TableModel` editor: Specification of column widths, resizable flag, predefined values for combo box editor and support `java.util.Date` as column type.
- New property "Variable Name" introduced to allow equal variable names in nested classes.
- New properties "Location Policy" and "Size Policy" for `java.awt.Window` based classes (`JDialog`, `JFrame`, etc.) to control the initial location and size of the window. Default location policy is "Relative to owner" and default size policy is "Preferred size". Note: This is a minor incompatibility to previous versions, which did not set the location and size.
- Property editor for `javax.swing.border.Border`, `java.awt.Font` and `javax.swing.Icon` now supports usage of `javax.swing.UIManager` values.
- Property editors for `javax.swing.ActionMap` and `javax.swing.InputMap` (read-only).
- Property editor for `java.awt.Image` added. Allows setting `iconImage` of `java.awt.Frame`.
- Added property editors for `char`, `java.lang.Character` and `java.lang.Boolean`.
- Support for JComponent's client properties: Define client properties in the Preferences dialog and use them in the Properties view.
- Annotations for component variable (Java 5).

#### Palette

- New tab "JARs" in "Choose Bean" and "Add Beans" dialogs allows selecting classes that are marked as JavaBeans in the JAR manifests. This makes it easier to add beans from 3rd party libraries (like MiG Calendar or JIDE) to the palette.
- Hide unavailable components in history of "Choose Bean" dialog.
- Exclude classes without public "null" constructor in "Choose Bean" dialog.
- JRE components included in "Choose Bean" dialog.
- Reduced height of palette buttons to show more components.
- Added `javax.swing.Action`, horizontal Spacer and vertical Spacer to palette. Spacers are for use in IntelliJ IDEA GridLayout only.

#### Preferences

- Preference pages "Source Folders" and "Classpath" removed and replaced with a default project.
- Added page to define client properties for use in the Properties view.
- Added page to specify BeanInfo and PropertyEditor search paths.
- Localization: Template for new properties files.
- Java Code Generator: Specification of source compatibility of generated code, member variable prefix, etc.
- Added option to disable IntelliGap for JGoodies FormLayout.
- Specification of i18n getBundle() and getString() code templates.

#### Java code generator

- Renames existing event handler methods when changing the event handler name.
- Renames existing component getter methods and update the return statement when renaming a component.
- Renames existing nested classes when changing the "Nested Class Name" property.
- Updates the `extends` clause of a class when morphing a bean, which is connected to a (nested) class.
- Determine source compatibility of generated code from JRE. E.g. if JFormDesigner runs on Java 5, it generates Java 5 compatible source code. You can change the source compatibility level in the preferences.
- Parametrization of component class names (e.g. `MyComponent<String>`).
- Option to use 'this' to access component member variables.
- Optionally generate explicit imports (see Preferences).
- Specification of i18n getBundle() and getString() code template.
- Determine line separators when updating existing .java files.
- Support for non-local `ButtonGroup` variables.
- Generation of `PanelBuilder` code for JGoodies FormLayout.
- GridBagLayout: New option to use empty `GridBagConstraints` constructors (for Java <= 1.1).
- Java parser now allows curly brackets outside of class (e.g. for annotations).

#### Runtime library

- `FormCreator`: Added methods to get form model, locale, class loader.
- `FormCreator`: Allow overriding of methods to get i18n resource bundles and strings.
- `FormComponentVisitor` introduced to visit all components in a hierarchy.

#### Other

- Stand-alone: Simple project manager.
- Stand-alone: Import IntelliJ IDEA .form files. Either select "File > Import" from the main menu or drag .form files to the JFormDesigner window.
- Stand-alone: Improved start-up speed when many forms are open.
- Stand-alone: Reload form files and properties files on external changes.
- Updated BeanInfos for Java 6.
- Updated JRE 5.0 in Windows setup to JRE 5.0 Update 9.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_12.
- Updated JGoodies Looks to 2.0.4.
- Updated JGoodies Forms to 1.0.7.

### Bugs fixed

- FormLayout: Small constant sized columns/rows (e.g. 1dlu) no longer stretch when smaller than 5 pixels.
- Runtime library: Event handler methods not added to windows (JFrame, JDialog, etc) when specifying an owner.
- Fixed exception when removing last column/row in GridBagLayout or TableLayout.
- Swing palette colors did not use current look and feel.
- "Reopen" submenu was not updated on Mac OS X.
- Using `JTabbedPane`, `JScrollPane`, `JSplitPane`, etc. as superclass for new forms works now as expected.
- Fixed generation of uncompilable code when using null layout manager in `JFrame`.
- Fixed problem when saving `SpinnerNumberModel` on some VMs.
- Using `TitledBorder` may cause errors on save when JFormDesigner runs on Java 6.
- null layout did not compute minimal size.
- Minor bugs fixed.

## 2.0.5

### New Features

- Runtime library: Added convenience methods to get menu components.

### Bugs fixed

- Fixed application freeze when using animated GIFs.
- Fixed: Renaming button groups did not update references in menu bars.
- Fixed ClassCastException when setting tile icon of MatteBorder to default.
- Fixed in runtime library: Event handler methods not found in superclasses of target object.
- Java code generator: Fixed exception when using a menu bar in a JFrame and "Set Component Names" property is true.
- Java code generator: Fixed generation of uncompilable code when referencing a top-level component that is a nested class.
- Minor bugs fixed.

## 2.0.4

### Bugs fixed

- Linux and Mac OS X: Fixed bug in Java parser which may partly corrupt generated code in case that the file contains multi-line comments with empty lines.
- Java code generator: Do not generate component getter methods for local component variables.
- Java code generator: Fixed missing import statement when using subclasses of Swing components.
- Fixed look and feel problem regarding JIDE components.
- Fixed ClassCastException when testing a form where a ButtonGroup is the first component.
- Minor bugs fixed.

## 2.0.3

### Bugs fixed

- Localization: Do not auto-externalize excluded properties when editing properties.
- Fixed NPE when using FormCreator with event handlers and removing another event listener.
- Java code generator: Fixed missing import statement for `java.awt.Toolkit` in `KeyStroke` property editor.
- Added some missing Java 5 properties to BeanInfos of `java.awt.Container` and `java.awt.Window`.
- Mac OS X: Forward delete key works now as expected in text fields (in-place-editing, etc.).
- Minor bugs fixed.

## 2.0.2

### New Features

- Assign "labelFor" property of labels in component context menu.
- Allow remove or reassign of refactored or unknown properties.
- Java code generator: Generate `BorderFactory.createEmptyBorder()` for empty `EmptyBorders`.

### Bugs fixed

- Marquee selection no longer selects invisible components in `JTabbedPane` and `CardLayout`.
- Size of `GridBagLayout` panel too small in some situations.
- Column/row headers not always updated when moving a panel.
- Pasting non-visual beans may cause errors on save.
- "Restore Default Value" in Properties view did not use the current look and feel.
- Morphing did not remove read-only properties.
- Fixed exception when using `JMenuBar` and WinLAF look and feel.
- Java code generator: Fixed exception when using a menu bar and null layout in a `JFrame`.
- Java code generator: Fixed generated event handler invocation code for the case that the listener interface has a method with the same name as the handler method.
- Mac OS X: Command key now works as expected to add multiple components. No longer drops component to parent of container.

## 2.0.1

### New Features

- Simplified moving and resizing of JScrollPanes in Design view: now you click on the child of a JScrollPane and then move or resize the JScrollPane including its child component.
- When morphing a bean from a non-scrollable component type to a scrollable component type, JFormDesigner asks to wrap the component in a `JScrollPane`.
- Java code generator: Generation of getter methods for components.
- Possibility to exclude properties from code generation. This is useful to exclude table, tree, etc. models, which are set for prototyping purposes, from code generation.
- `FormCreator`: `isSetComponentNames()` and `setSetComponentNames()` added.

### Bugs fixed

- Couldn't add menu items to subclasses of JMenu.
- Column/row grouping lines scroll out of visible area.
- Grid of GridBagLayout panel shown in wrong location in some conditions.
- Java code generator: Fixed line counting bug in parser on Linux, Mac OS X and other Unix systems when single-line comments contains multi-line comments.
- Java code generator: Fixed wrong evaluation of custom code variable ${field} when using a member variable prefix.
- Java code generator: Fixed wrong evaluation of custom code variable ${field_type} for JGoodies ComponentFactory components and nested classes.
- Fixed painting problem in Design view when using Liquid look and feel.
- Mac OS X: Increased row height of Properties view.

## 2

### New Features

#### Design view

- Menu designer: Visual design of menu bars and popup menus, in-place edit menu item texts and drag-and-drop menu items. The component palette contains a new category "Menus".
- Internationalization support: externalize and internalize strings, edit resource bundles, add locales, switch locale used in Design view, in-place-edit text of current locale.
- Support for events: Add and remove event handlers, generates handler methods, also usable with runtime library (see documentation of method `FormCreator.setTarget()` for details).
- New "Morph Bean" command allows you to change the class of existing components without loosing properties, events or layout information.
- Layout manager changing.
- Marquee selection tool.
- Auto-insert new columns/rows when dropping components on a gap column/row.
- Auto-insert new columns/rows when adding or moving components outside of the existing grid.
- Improved moving of multiple selected components.
- Keep selection when moving components/columns/rows.
- Column/row splitting introduced.
- When adding a scrollable component, ask the user whether he wants to add a `JScrollPane` as well.
- Made colors of feedback figures in Design view brighter.
- Show tooltips when moving or resizing components.
- Highlight occupied areas under the current mouse location when adding or moving components.
- The Shift key now behaves the same as the Ctrl key while selecting components in the Design view.
- Possibility to specify a "Default alignment" for components in a column/row of `GridBagLayout` and `TableLayout` (as already supported by FormLayout). This is e.g. very useful for columns with right aligned labels because you specify the alignment only once and all added labels will automatically aligned to the right.
- Improved BorderLayout support when containing small sized children.
- Improved `JTabbedPane` support: reorder tabs in Design view, insert new tabs before other tabs.
- Support for `GridLayout`.
- Support for `CardLayout`.
- Support for `JDesktopPane`, `JInternalFrame` and `JLayeredPane`.
- `null` layout manager support.
- Support for non-visual JavaBeans.
- `java.beans.Customizer` is now supported.
- Support for right-to-left component orientation.

#### Structure view

- Drag and drop components in tree, drop new components to tree.
- Show events in tree.
- Highlight the tree node of the component which is under the current mouse location in the Design view.
- Show small overlay icons for component variable modifiers `public`, `protected`, `default` and `private` in Structure tree in case it is not the default modifier.
- New tree root node "(form)". When selected, allows specification of form global options in Properties view.
- "Expand All", "Collapse All" and "Hide Events" commands in toolbar.

#### Properties view

- Allow property value modification of multiple selected components.
- Remove property value when setting to the default.
- Improved handling or `null` value in property editors.
- "Restore Default Value" command enabled for Layout, Constraints and Code Generation properties.
- "Set Value to null" command added to popup menu.
- Added "Externalize String" and "Internalize String" commands to popup menu.
- Mark localized strings with a small globe in the property value.
- Show class hierarchy in tool tip of the "Class" property.
- The combo box to assign a component to the `JLabel.labelFor` property no longer contains `JLabels` so that the component list is shorter, which makes it easier to find the target component.
- Possibility to reference any (non-visual) JavaBean as a property value.
- The `SpinnerModel` editor now supports `javax.swing.SpinnerDateModel` and `javax.swing.SpinnerListModel`.
- Added property editor for `java.awt.Cursor`.
- Added property editor for `javax.swing.KeyStroke`. Supports menu shortcut modifier key (Command key on Mac OS X, Ctrl key otherwise).
- Improved border editor.
- `MatteBorder` is now supported.
- Show image dimensions and file size in icon editor.
- Added "Insert Variable" button to custom Java code editors.
- Improved error message of mnemonic property editor.
- Remove property value references to removed components. E.g. when removing a ButtonGroup object then also the references to this object are removed.
- Made "visible" property of java.awt.Component visible.
- Made "toolBar" property of SimpleInternalFrame visible. Now you can add a JToolBar to the Design view and assign it to the SimpleInternalFrame in the Properties view.

#### Palette

- Palette Manager allows the configuration of the component palette (add, edit, remove and rearrange categories and beans).
- New "Choose Bean" dialog that allows to search for classes in the classpath, history and palette.
- "Is Container" check box in "Choose Bean" dialog allows to specify whether a bean is a container or not.

#### Preferences

- Added support for custom Look and Feels.
- Added support for custom column/row templates for FormLayout.
- New preferences page "Localization" that allows the specification of properties, which should not externalized.
- Allow editing of Source Folders and Classpath items.
- Added "Edit" and "Insert Variable" buttons to Java code templates page.

#### Java code generator

- Generate shorter GridBagConstraints code (pass all values to the constructor).
- Added template for "Event Handler Body" to preferences.
- Specification of member variable prefix for component variables.
- Specification of default "Variable modifiers" and default "Use Local Variable" properties used for the whole form.
- Specification of event handler method modifiers (public, protected, private, etc). You can also use "abstract", which is useful if you subclass form classes.
- Possibility to generate code, which invokes java.awt.Component.setName() on all components. Works also in jfd-loader.jar.
- Variables for component fields and types in custom code.
- Modifier "static" for component variables.
- Code generator can now write Eclipse non-nls tags (//$NON-NLS-n$) and NetBeans no-i18n tags (//NOI18N). Enable it in the Preferences dialog.
- The Java code generator now orders the properties in the same order as you have set the properties in the Properties view. This makes sure that the generated code behaves the same as the "Test Form" command and solves problems where the property set order is important.
- Improved speed of Java code generator about 15%.

#### Other

- Import NetBeans .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.
- JBuilder plugin to convert jbInit() methods to JFormDesigner forms. Download: www.jformdesigner.com.
- Clipboard paste improved.
- Changed keyboard shortcut for "Close" to "Ctrl+W" and "Close All" to "Ctrl+Shift+W".
- Added "Browse..." buttons for choosing class names to several dialogs.
- Linux: Added GNOME window decoration images.
- Better support of dark color themes.
- Possibility to specify persistence delegates (java.beans.PersistenceDelegate) for property values in property descriptors (java.beans.PropertyDescriptor). They are used while saving a form to a .jfd file.
- Now using always the read and write methods specified in the property descriptors to get and set bean properties.
- Improved error handling for "Test Form" command. You can now see the whole occurred exception in the Error Log view for easier analysis of the problem.
- Show window size and inner size of "Test Form" frame in window title.
- Improved exception handling when accessing BeanInfos.
- JGradientPanel example bean added (see <jfd-install>/examples/src/com/jformdesigner/examples/beans/JGradientPanel.java).
- New Windows setup with JRE 5.0 Update 5.
- Updated JRE 1.4 in Windows setup to JRE 1.4.2_09.
- Updated TableLayout.jar to latest release (2005-09-20). Added TableLayout-javadoc.jar.
- Updated JGoodies Looks to 1.3.2.

### Bugs fixed

- Design view: Fixed preferred size calculation of GridBagLayout panels.
- Design view: Improved performance of feedback figure painting.
- Design view: Better auto-numbering of copied components.
- Design view: Keep component sizes when moving components to null layout.
- Design view: Fixed layout problem when adding a `JScrollPane` to `FormLayout`, `GridBagLayout` or `TableLayout`.
- Design view: No longer caching icons used in forms.
- Properties view: Fixed wrong display of DLU4_BORDER and DLU7_BORDER.
- Properties view: Fixed minor problem in `TableModel` property editor.
- Properties view: Removed option EXIT_ON_CLOSE from property JDialog.defaultCloseOperation.
- Java code generator: Place "Post-Initialization Code" behind setting the layout manager.
- Java code generator: Fixed import statement merging bug.
- Java code generator: Fixed single-line comment recognition bug in parser.
- Java code generator: Generate JSplitPane.setTopComponent() and setBottomComponent() when orientation is VERTICAL_SPLIT.
- Java code generator: Fixed generation of Java code for alpha value of Color property values.
- Java code generator: Fixed generation of Java code for bevelType of BevelBorder.
- Fixed appearance of Ocean theme (Java 5).
- Linux: Fixed appearance of JComboBox in Design view when using Ocean theme (Java 5).
- Linux: Fixed NullPointerException and confusing "Open Form" error message when using "JGoodies Plastic" or "JGoodies Plastic XP" look and feels.
- Splitter between palette and designer jumps to the left when showing or hiding the Error Log view.
- Linux: No longer using GTK as application look and feel on GNOME desktops.
- Windows: Fixed occasional problems with "short" (8+3) filenames when double-clicking .jfd files in Windows Explorer.
- `java.beans.Beans.isDesignTime()` returns now always `true`. Previously, it returned `false` on "Test Form" command.
- Fixed class loader problem regarding JIDE components.
- Fixed class loader problem regarding l2fprod Common Components (requires 2005-01-30 release).
- Fixed some memory leaks.

Important: The .jfd file format has changed in this release. It is still XML, but some class names and the structure has changed slightly. This release can read all .jfd files created with previous releases (1.0 and 2.0 EA), but always writes the new format. The new jfd-loader.jar runtime library can read old and new .jfd files. Also, the package names of the jfd-loader.jar classes has changed from `com.ktauber.form.runtime` to `com.jformdesigner.runtime`.

## 1.0.6

- Ported to Mac OS X.
- Fixed: Component variable modifier "final" disabled because it would lead to compiler errors.
- Fixed: Flag "Container blocks" in Java Code Generator Preferences will now saved.

## 1.0.5

- Fixed: Update Preferences dialog and internal states correctly after importing preferences.

## 1.0.4

- Fixed generation of Java code for bevelType of BevelBorder.
- Removed option EXIT_ON_CLOSE from property JDialog.defaultCloseOperation.
- config/persistenceDelegates.conf: fixed wrong example.
- Fixed appearance of Ocean theme (Java 5).
- Fixed generation of Java code for alpha value of Color property values.
- Better support of dark color themes.
- Improved error message of mnemonic property editor.
- Fixed some memory leaks.

## 1.0.3

- Improved BorderLayout support when containing small sized children.
- `java.beans.Beans.isDesignTime()` returns now always `true`. Previously, it returned `false` on "Test Form" command.
- Fixed wrong XML encoding when saving a form, which uses "(no border)" (was introduced in 1.0.1).
- Fixed some minor look and feel paint problems.

## 1.0.2

- Non-Commercial license.
- `FormLayout`: Columns/rows with size "default" now shrink in the design view if space is scare.
- `GridBagLayout`: Fixed wrong calculation of grid x/y when removing or moving first column/row.
- `java.beans.Beans.isDesignTime()` returns now `true`.
- Palette now disabled if no form opened.
- Minor bugs fixed.

## 1.0.1

- Added property editors for `java.lang.Byte`, `java.lang.Double`, `java.lang.Float`, `java.lang.Integer`, `java.lang.Long`, `java.lang.Short`, `java.math.BigDecimal` and `java.math.BigInteger`.
- Added support for Quest's JClass Field beans.
- Added class `FormSaver` to runtime library `jfd-loader.jar`. This class can be used to convert a proprietary form specification to a JFormDesigner .jfd file.
- Added support to specify own persistence delegates for custom classes in property values. See `config/persistenceDelegates.conf` for details.
- Fixed persistence problems regarding custom classes in property values.
- Fixed problem in `jfd-loader.jar` regarding `SimpleInternalFrame` not showing title.
- Fixed memory leak: Memory of form not freed after closing form.

## 1

- Initial release.