JFormDesigner Changes
- 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
- 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.