Change Log of JFormDesigner 4

See also: What's New in JFormDesigner 4

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.