JFormDesigner Change Log
- 5.0.4, 5.0.3, 5.0.2.3, 5.0.2.2, 5.0.2.1, 5.0.2, 5.0.1, 5.0.0.1, 5.0
- 4.0.9, 4.0.8, 4.0.7.2, 4.0.7.1, 4.0.7, 4.0.6, 4.0.5,
4.0.4, 4.0.3, 4.0.2.1, 4.0.2, 4.0.1, 4.0
- 3.1.4, 3.1.3, 3.1.2, 3.1.1.1, 3.1.1, 3.1
- 3.0.5, 3.0.4.1, 3.0.4, 3.0.3, 3.0.2,
3.0.1, 3.0
- 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1,
2.0
- 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2,
1.0.1, 1.0
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.
Bugs fixed
- Fixed failure of JIDE extionsions 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.
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 11.1 EAP build
114.55.
- 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).
- 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.
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.
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.
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).
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 it's 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.
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 managment 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.
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.
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).
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.
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.
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.
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.
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.
Bugs fixed
- IntelliJ IDEA plug-in: Support for IntelliJ IDEA 8.0.
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 a "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.
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.
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.
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.
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.
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.
Bugs fixed
- IntelliJ IDEA plug-in: Fixed deprecated method
ProjectImpl.getProjectFile() usage error in IntelliJ IDEA 7.0.
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.
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.
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.
- IntelliJ IDEA plug-in: Fixed "old lvcs is disabled" errors when
using IntelliJ IDEA 7.0 EAP build 6951 (or later).
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.
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.
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.
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.
New Features
Eclipse plug-in
- Designer integrated as Eclipse editor for JFormDesinger .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 JFormDesinger
.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 pixel.
- 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.
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.
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.
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.
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.
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 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.
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 a 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
.
- 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.
- Fixed: Update Preferences dialog and internal states correctly
after importing preferences.
- 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.
- 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.
- 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.
- 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.