org.mlc.swing.layout
Class ContainerLayout

java.lang.Object
  extended by org.mlc.swing.layout.ContainerLayout
All Implemented Interfaces:
java.awt.LayoutManager, java.awt.LayoutManager2

public class ContainerLayout
extends java.lang.Object
implements java.awt.LayoutManager2

This class acts as a surogate layout manager for the JGoodies (www.jgoodies.com) FormLayout manager. This layout manager enables us to associate names with components and then define the constraints for the component elsewhere (like xml)

Author:
Michael Connor

Constructor Summary
ContainerLayout(java.lang.String name, java.lang.String columnSpecs, java.lang.String rowSpecs)
           
 
Method Summary
 void addCellConstraints(java.lang.String name, com.jgoodies.forms.layout.CellConstraints constraints)
           
 void addColumnSpec(int index, java.lang.String columnSpec)
           
 void addColumnSpec(java.lang.String columnSpec)
           
 void addComponent(java.lang.String componentName, ComponentDef componentDef, com.jgoodies.forms.layout.CellConstraints constraints)
           
 void addLayoutComponent(java.awt.Component comp, java.lang.Object constraints)
           
 void addLayoutComponent(java.lang.String name, java.awt.Component comp)
           
 void addRowSpec(int index, java.lang.String rowSpec)
           
 void addRowSpec(java.lang.String rowSpec)
           
 void constraintsChanged(java.lang.String name, com.jgoodies.forms.layout.CellConstraints constraints)
           
 java.util.LinkedHashMap<java.lang.String,com.jgoodies.forms.layout.CellConstraints> getCellConstraints()
           
 com.jgoodies.forms.layout.CellConstraints getCellConstraints(java.lang.String name)
           
 int getColumnCount()
           
 java.lang.String getColumnSpec(int index)
           
 java.util.List<java.lang.String> getColumnSpecs()
           
 java.lang.String getColumnSpecsString()
           
 java.awt.Component getComponentByName(java.lang.String name)
          Returns the component with the given name or null if not found
 com.jgoodies.forms.layout.CellConstraints getComponentConstraints(java.awt.Component component)
           
 ComponentDef getComponentDef(java.lang.String componentName)
           
 java.lang.String getComponentName(java.awt.Component component)
           
protected  java.util.Map<java.awt.Component,java.lang.String> getComponentsToNames()
           
 java.util.Map<java.lang.String,java.lang.Object> getCustomProperties(java.lang.String componentName)
          Returns custom properties for the component.
 float getLayoutAlignmentX(java.awt.Container target)
           
 float getLayoutAlignmentY(java.awt.Container target)
           
 com.jgoodies.forms.layout.FormLayout.LayoutInfo getLayoutInfo(java.awt.Container container)
           
 java.lang.String getName()
          Returns the value of the name property
 int getRowCount()
           
 java.lang.String getRowSpec(int index)
           
 java.util.List<java.lang.String> getRowSpecs()
           
 java.lang.String getRowSpecsString()
           
 void invalidateLayout(java.awt.Container target)
           
 void layoutContainer(java.awt.Container parent)
           
static void main(java.lang.String[] args)
           
 java.awt.Dimension maximumLayoutSize(java.awt.Container target)
           
 java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
           
 java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
           
 com.jgoodies.forms.layout.CellConstraints removeCellConstraints(java.lang.String name)
           
 java.lang.String removeColumnSpec(int index)
           
 void removeLayoutComponent(java.awt.Component comp)
           
 java.lang.String removeRowSpec(int index)
           
 void setCellConstraints(java.lang.String componentName, com.jgoodies.forms.layout.CellConstraints constraints)
           
 void setColumnSpec(int index, java.lang.String columnSpec)
           
 void setName(java.lang.String name)
          Registers the value of the name property
 void setProperty(java.lang.String componentName, java.lang.String property, java.lang.Object value)
          Set a user defined property for this component so that the tool can manage the properties of the component thus reducing the burden on the user
 void setRowSpec(int index, java.lang.String rowSpec)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContainerLayout

public ContainerLayout(java.lang.String name,
                       java.lang.String columnSpecs,
                       java.lang.String rowSpecs)
Method Detail

getComponentsToNames

protected java.util.Map<java.awt.Component,java.lang.String> getComponentsToNames()

setName

public void setName(java.lang.String name)
Registers the value of the name property

Parameters:
name - The value of the property

getName

public java.lang.String getName()
Returns the value of the name property

Returns:
The value

getCustomProperties

public java.util.Map<java.lang.String,java.lang.Object> getCustomProperties(java.lang.String componentName)
Returns custom properties for the component. If no custom props exist then an empty map will be returned.


setProperty

public void setProperty(java.lang.String componentName,
                        java.lang.String property,
                        java.lang.Object value)
Set a user defined property for this component so that the tool can manage the properties of the component thus reducing the burden on the user


setCellConstraints

public void setCellConstraints(java.lang.String componentName,
                               com.jgoodies.forms.layout.CellConstraints constraints)

getCellConstraints

public java.util.LinkedHashMap<java.lang.String,com.jgoodies.forms.layout.CellConstraints> getCellConstraints()

addComponent

public void addComponent(java.lang.String componentName,
                         ComponentDef componentDef,
                         com.jgoodies.forms.layout.CellConstraints constraints)

getComponentDef

public ComponentDef getComponentDef(java.lang.String componentName)

getColumnSpecsString

public java.lang.String getColumnSpecsString()

getRowSpecsString

public java.lang.String getRowSpecsString()

getRowCount

public int getRowCount()

getColumnCount

public int getColumnCount()

getRowSpecs

public java.util.List<java.lang.String> getRowSpecs()

getColumnSpecs

public java.util.List<java.lang.String> getColumnSpecs()

constraintsChanged

public void constraintsChanged(java.lang.String name,
                               com.jgoodies.forms.layout.CellConstraints constraints)

getCellConstraints

public com.jgoodies.forms.layout.CellConstraints getCellConstraints(java.lang.String name)

addCellConstraints

public void addCellConstraints(java.lang.String name,
                               com.jgoodies.forms.layout.CellConstraints constraints)

removeCellConstraints

public com.jgoodies.forms.layout.CellConstraints removeCellConstraints(java.lang.String name)

addColumnSpec

public void addColumnSpec(java.lang.String columnSpec)
                   throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

getRowSpec

public java.lang.String getRowSpec(int index)

getColumnSpec

public java.lang.String getColumnSpec(int index)

setRowSpec

public void setRowSpec(int index,
                       java.lang.String rowSpec)
                throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

setColumnSpec

public void setColumnSpec(int index,
                          java.lang.String columnSpec)
                   throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

addRowSpec

public void addRowSpec(java.lang.String rowSpec)
                throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

removeRowSpec

public java.lang.String removeRowSpec(int index)

removeColumnSpec

public java.lang.String removeColumnSpec(int index)

addRowSpec

public void addRowSpec(int index,
                       java.lang.String rowSpec)
                throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

addColumnSpec

public void addColumnSpec(int index,
                          java.lang.String columnSpec)
                   throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

getComponentName

public java.lang.String getComponentName(java.awt.Component component)

getComponentByName

public java.awt.Component getComponentByName(java.lang.String name)
Returns the component with the given name or null if not found


getComponentConstraints

public com.jgoodies.forms.layout.CellConstraints getComponentConstraints(java.awt.Component component)

addLayoutComponent

public void addLayoutComponent(java.lang.String name,
                               java.awt.Component comp)
Specified by:
addLayoutComponent in interface java.awt.LayoutManager

getLayoutAlignmentX

public float getLayoutAlignmentX(java.awt.Container target)
Specified by:
getLayoutAlignmentX in interface java.awt.LayoutManager2

getLayoutAlignmentY

public float getLayoutAlignmentY(java.awt.Container target)
Specified by:
getLayoutAlignmentY in interface java.awt.LayoutManager2

getLayoutInfo

public com.jgoodies.forms.layout.FormLayout.LayoutInfo getLayoutInfo(java.awt.Container container)

invalidateLayout

public void invalidateLayout(java.awt.Container target)
Specified by:
invalidateLayout in interface java.awt.LayoutManager2

layoutContainer

public void layoutContainer(java.awt.Container parent)
Specified by:
layoutContainer in interface java.awt.LayoutManager

maximumLayoutSize

public java.awt.Dimension maximumLayoutSize(java.awt.Container target)
Specified by:
maximumLayoutSize in interface java.awt.LayoutManager2

minimumLayoutSize

public java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
Specified by:
minimumLayoutSize in interface java.awt.LayoutManager

preferredLayoutSize

public java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
Specified by:
preferredLayoutSize in interface java.awt.LayoutManager

removeLayoutComponent

public void removeLayoutComponent(java.awt.Component comp)
Specified by:
removeLayoutComponent in interface java.awt.LayoutManager

addLayoutComponent

public void addLayoutComponent(java.awt.Component comp,
                               java.lang.Object constraints)
Specified by:
addLayoutComponent in interface java.awt.LayoutManager2

main

public static void main(java.lang.String[] args)