JGoodies FormLayout - Available Now!

Note that JGoodies FormLayout support is only available in the Professional version of the product.

This feature is based on technology from the JGoodies Forms.
http://www.jgoodies.com/freeware/forms/
Copyright © 2002-2006 JGoodies Karsten Lentzsch

Main Features

  • Select JGoodies FormLayout from the Swing Layouts palette and drop it on a JFrame or JPanel
  • The JGoodies FormLayout jar file will automatically be added to your project and the classpath adjusted
  • Graphical feedback is provided for all column, row and cell interactions
  • Column and row properties may be changed via a popup menu or property dialog
  • Convert existing layouts (null, GridBag, etc.) to JGoodies FormLayout with intelligent column, row and gap creation
  • Automatically add gaps when adding new columns or rows


Popup Header Menu

  • Right-click on the header area to access the popup header menu
  • Insert new columns or rows before the current column or row
  • Add a new column or row at the end of the current list
  • Delete entire columns or rows or just their widget contents
  • Set the column alignment to left, right, center or fill
  • Specify that the column or row should grow to fill the available space
  • Group or ungroup columns or rows
  • Set the sizing spec that should be used for the column or row (various column, row and gap types are available)
  • Edit the properties of the current column or row



Graphical Feedback

  • When moving a widget or adding a new widget, open cells are highlighted
  • The currently selected cell shows its column and row spanning handles and alignment handles
  • Grouped columns and rows are color highlighted to indicate which are in the same group
  • Column and row sizing handles make it easy to set the size of a column or row
  • Reorder columns and rows by dragging them (with their associated gap columns or rows)
  • Column and rows borders are indicated with dotted lines
  • Interactive column and row spanning feedback is provided



Column & Row Editing

  • Double click on a column or row to access its property dialog
  • Switch between columns and rows using the arrow buttons
  • Select from any of the predefined column or gap templates
  • Set the column or row alignment
  • Set the size of the column or row
    • Specify a constant size in a variety of units
    • Specify minimum and maximum sizes
  • Specify the resize behavior and the relative weights of each column or row
  • Floating layout assistant for cells, columns and rows
  • Open the Columns or Rows editing dialog from the property pane
    • Insert or add new columns and rows
    • Open the property dialog for an individual column or row
    • Group and ungroup columns or rows
    • Rearrange the order of the columns or rows
   



 


Preferences & Options

  • Control whether the alignment figures are displayed
  • Specify the default number of columns and rows created when a JGFL is added to an empty container
  • Choose whether a JGFL options dialog appears when a JGFL is added to an empty contgainer
   
 


Source Code Generation & Parsing

  • Intelligently convert existing layouts (null, GridBag, etc.) to JGoodies FormLayout with column, row and gap creation
  • Generated code will use predefined FormFactory constants as necessary
  • Parser can understand reused CellConstraint objects
  • Parser supports all CellConstraint styles
    • Creation methods intended for use by humans
      CellConstraints cc = new CellConstraints();
      cc.xy(2, 1); // second col, first row
      cc.xy(2, 1, "right, bottom"); // aligned to right and bottom
      cc.xy(2, 1, "r, b"); // abbreviated alignment
      cc.xywh(2, 1, 4, 3); // spans 4 cols, 3 rows
      cc.xywh(2, 1, 4, 3, "right, bottom");
      cc.xywh(2, 1, 4, 3, "r, b");

       
    • Constructors intended for builders
      new CellConstraints(); // first col, first row
      new CellConstraints(2, 1);
      new CellConstraints(2, 1, 4, 3);
      new CellConstraints(2, 1, CellConstraints.RIGHT, CellConstraints.BOTTOM);

       
    • Constructors intended for building UIs from XML
      CellConstraints cc = new CellConstraints();
      new CellConstraints("2, 1");
      new CellConstraints("2, 1, r, b");
      new CellConstraints("2, 1, 4, 3");
      new CellConstraints("2, 1, 4, 3, r, b");
 

  
 Back