JGoodies Forms Changelog

What's new in JGoodies Forms 1.10.0

Apr 9, 2015
  • Moved to Java 7.
  • Requires JGoodies Common 1.9.
  • Turned ComponentSize into an enumeration.
  • Replaced Sizes#MINIMUM, #PREFERRED, #DEFAULT by the ComponentSize enum values.
  • Turned Unit into an enumeration.
  • Removed ConstantSize duplicate constants: #PX, #PT, #MM, #IN, #CM, #DLUX, #DLUY.
  • Improved code readability.
  • Added generics.

New in JGoodies Forms 1.9.0 (Feb 3, 2015)

  • Added the FormBuilder. It offers a simplified approach for specifying the layout and adding components. Please read the FormBuilder's class comment for its features.
  • Replaced the ListViewBuilder with the commercial ListViewBuilder.
  • Introduced the concept of paddings as special (empty) borders that are used for white space around forms and panels.
  • Added a dlu-based empty border, see class Padding.
  • Added a factory for reusable paddings, see class Paddings.
  • Added FormBuilder#padding(EmptyBorder) and #padding(String)
  • Added ListViewBuilder#padding(EmptyBorder).
  • Marked the factory class Borders as deprecated; use Paddings.
  • Removed deprecated code from PanelBuilder and DefaultFormBuilder.
  • Marked PanelBuilder as deprecated. Use the FormBuilder instead.
  • Marked I15dPanelBuilder as deprecated. Instead provide the localized resources to the FormBuilder. A simple and safe approach to do so is the internationalization support provided by the JGoodies Smart Client Resources class.
  • Marked DefaultFormBuilder as deprecated. Although useful in very simple forms, this class's API has frequently added confusion. Use the FormBuilder instead.
  • Rearranged the builder class hierarchy.
  • Fixed a FormBuilder focus traversal policy setter bug.

New in JGoodies Forms 1.8.0 (Aug 14, 2014)

  • Fixed the conversion from DTP points to pixels.
  • Added Forms#buttonStack, #checkBoxStack, #radioButtonStack.
  • Added ButtonBarBuilder#create().
  • Added ButtonStackBuilder#create().
  • Moved all global default values to the new FormsSetup: opaque, label-for feature, factory, debug tooltips.
  • PanelBuilder's label-for feature honors if a label is already labelling a component.
  • Added FormLayout#setColumnGroup(int... indices)
  • Added FormLayout#setRowGroup(int... indices)
  • FormLayout#setColumnGroups and #setRowGroups check that each group of indices contains at least two indices.
  • Added CellConstraints#translate(int dx, int dy).
  • FormSpecs can tell whether the default alignment has been explicitly set.
  • Added a special "none" column alignment intended only for JTable column configurations as implemented by the classes TableUtils and TableColumns.
  • Smaller gaps on the Mac.
  • Column and row specs accept a 0 multiplier, e.g. "0*(p, $lg)".
  • Improved parser message for negative multiplier designation.

New in JGoodies Forms 1.7.1 (Feb 6, 2013)

  • Requires the JGoodies Common 1.6.0.
  • Added ListViewBuilder#honorsVisibility to enable API users to keep the overall layout stable, even if a sub view, for example a details view, becomes invisible.
  • The ListViewBuilder sets names for unnamed components and those that are implicitly created by the builder.
  • Added ListViewBuilder#namePrefix to specify a prefix for
  • the component names set by the builder.
  • Fixed docs.
  • Updated copyright date.

New in JGoodies Forms 1.6.0 (Jul 28, 2012)

  • Since 1.6 the PanelBuilder's label-for-feature is on by default.
  • The new behavior is recommended. You can get the old behavior with:
  • PanelBuilder.setLabelForFeatureEnabledDefault(false);
  • Overhauled the ComponentFactory interface:
  • merged ComponentFactory and ComponentFactory2
  • removed ComponentFactory2
  • added #createHeaderLabel(String)
  • DefaultComponentFactory implements ComponentFactory
  • Overhauled the I15dPanelBuilder:
  • merged it with its superclass AbstractI15dPanelBuilder
  • supports a general StringLocalizer for the String resource access
  • sets the initial "opaque" property value to false
  • Renamed FormFactory to FormSpecs.
  • Removed the deprecated ColumnSpec.MIDDLE; use CENTER instead.
  • Added ButtonBarBuilder
  • builds button bars in a platform-independent order
  • can add sequences of related buttons
  • Marked ButtonBarBuilder2 as deprecated; use ButtonBarBuilder.
  • ButtonBarBuilder, ButtonStackBuilder, and ButtonBarBuilder2
  • build focus traversal groups for the contained buttons,
  • if the JGoodies FocusTraversalUtils class is available.
  • Removed LayoutStyle#isLeftToRightButtonOrder() and its
  • implementations in MacLayoutStyle and WindowsLayoutStyle.
  • Overhauled the ButtonStackBuilder
  • removed #ButtonStackBuilder(FormLayout, JPanel)
  • removed #addButtons
  • added configuration methods
  • changed superclass to AbstractButtonPanelBuilder
  • Changed names in Borders from DIALOG_BORDER to DIALOG,
  • DLU14_BORDER to DLU14, ...
  • AbstractBuilder#setDefaultComponentFactory has been renamed to
  • #setComponentFactoryDefault.
  • Fixed and added JavaDocs and JavaDoc comment examples.
  • Fixed the broken artifact id in the pom.xml.

New in JGoodies Forms 1.5.1 (Jul 7, 2012)

  • Marked the ButtonBarFactory as deprecated.
  • This class will be removed from the next Forms version.
  • The javadocs, main and test sources are delivered as JARs.

New in JGoodies Forms 1.3.0 (Aug 12, 2010)

  • This update adds a PanelBuilder feature to automatically associate an added focusable component with a previously added label, see class PanelBuilder. The component factory mechanism and the builder classes have been extended to create JLabels that are intended to label read-only components.