Class FormContainer

  • All Implemented Interfaces:
    FormSelectable
    Direct Known Subclasses:
    FormRoot, FormWindow

    public class FormContainer
    extends FormComponent
    A form container represents a Container in the form model. In addition to the inherited functionality, it has a form layout manager and a list of child form components. The relationship between FormContainer, FormLayoutManager and FormLayoutConstraints is the same as in Swing. The form container has a form layout manager. The form layout manager holds the form constrains for the children of the form container.

    Take a look at the example source code (FormSaverExamples.java) for details.

    Example using JGoodies FormLayout:

       FormLayoutManager layout = new FormLayoutManager(FormLayout.class);
       layout.setProperty("$columnSpecs", "default, labelcompgap, default:grow");
       layout.setProperty("$rowSpecs", "default, linegap, default");
    
       FormContainer panel = new FormContainer("javax.swing.JPanel", layout);
       panel.setName("this");
       panel.setProperty("$size", new Dimension(300, 200)); // size in design view
    
       // create "name" label
       FormComponent nameLabel = new FormComponent("javax.swing.JLabel");
       nameLabel.setName("nameLabel");
       nameLabel.setProperty("text", "Name:");
    
       // add "name" label to panel
       FormLayoutConstraints cons = new FormLayoutConstraints( CellConstraints.class );
       cons.setPropertyInt("gridX", 1);
       cons.setPropertyInt("gridY", 1);
       panel.add(nameLabel, cons);
    
       // create "name" text field
       FormComponent nameField = new FormComponent("javax.swing.JTextField");
       nameField.setName("nameField");
       nameField.setPropertyInt("columns", 20);
    
       // add "name" text field to panel
       cons = new FormLayoutConstraints( CellConstraints.class );
       cons.setPropertyInt("gridX", 3);
       cons.setPropertyInt("gridY", 1);
       panel.add(nameField, cons);
     
    • Constructor Detail

      • FormContainer

        public FormContainer​(String className)
        Constructs a form container for the specified class.
      • FormContainer

        public FormContainer​(String className,
                             FormLayoutManager layout)
        Constructs a form container for the specified class and form layout manager.
    • Method Detail

      • getLayout

        public FormLayoutManager getLayout()
        Returns the form layout manager used by this form container.
      • setLayout

        public void setLayout​(FormLayoutManager layout)
        Sets the form layout manager for this form container.
      • getComponentCount

        public int getComponentCount()
        Returns the number of form components in this form container.
      • getComponent

        public FormComponent getComponent​(int index)
        Returns the form component at index.
      • getComponents

        public FormComponent[] getComponents()
        Returns all form components in this form container.
      • getComponentIndex

        public int getComponentIndex​(FormComponent comp)
        Returns the index of comp in this form container; or -1 if the form component is not a child of this form container.
      • add

        public void add​(FormComponent comp)
        Adds a form component to the end of this form container.
      • add

        public void add​(FormComponent comp,
                        int index)
        Adds a form component to this form container at the specified position.
      • add

        public void add​(FormComponent comp,
                        FormLayoutConstraints constraints)
        Adds a form component to the end of this form container and sets the specified constraints in the form layout manager of this container.
      • add

        public void add​(FormComponent comp,
                        FormLayoutConstraints constraints,
                        int index)
        Adds a form component to this form container at the specified position and sets the specified constraints in the form layout manager of this container.
        Parameters:
        comp - The form component to be added.
        constraints - The form layout constraints for the form component.
        index - The position in the container's list at which to insert the component; or -1 to insert at the end
      • remove

        public void remove​(FormComponent comp)
        Removes the specified form component from this form container.
      • remove

        public void remove​(int index)
        Removes the form component at the specified index from this form container.
      • remove

        public void remove​(String name)
        Removes the form component with the specified name from this form container.
      • removeAll

        public void removeAll()
        Removes add children from this form container.
      • replace

        public void replace​(int index,
                            FormComponent comp,
                            FormLayoutConstraints constraints)
        Replaces the form component at the specified index with the given form component and constraints.
        Since:
        8.2
      • getMenuBar

        public FormContainer getMenuBar()
        Returns the menu bar of this form container.
        Since:
        2.0
      • setMenuBar

        public void setMenuBar​(FormContainer menuBar)
        Sets the menu bar of this form container.
        Since:
        2.0
      • getMenuBarOwner

        public FormContainer getMenuBarOwner()
        Returns the owner of a menu bar.
        Since:
        2.0
      • getMenuBarAndComponents

        public FormComponent[] getMenuBarAndComponents()
        Returns the menu bar and all form components in this form container.
        Since:
        2.0