# Class SubPopsPanel

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Panel
                               |
                               +----SubPopsPanel

class SubPopsPanel
extends Panel

This panel contains a `TitlePanel` and a `GridBagPanel` that accepts input for the following lilgp parameters:
`

- multiple.subpops
- multiple.exch_gen

`

After pressing the `go` button, a `SubPopFrame` will be created to allow the user to setup exchanges between the sub-pops. If the `purge` button is pressed, then all of the parameters associated with multiple sub populations will be removed from the database.

See Also:
  TitlePanel, GridBagPanel, SubPopFrame, purgeOldSubPopParameters, purgeOldSubPopExchanges

##

SubPopsPanel()
  Add each of the UI components needed to accept input.

##

action(Event, Object)
  Trap `TextField` events and `Button` events.
enableButtons()
  Allow the `SubPopFrame` to re-enable the buttons after the user closes the frame.
flushParameters()
  Collect the contents of each UI component and store it in the `ParameterDB`.
loadParams()
  This method is responsible for loading parameters onto the `SubPopsPanel` after the user opens a parameter file.

##

SubPopsPanel

      public SubPopsPanel()

  Add each of the UI components needed to accept input.
  See Also:
    addComponent

##

action

      public boolean action(Event event,
                            Object arg)

  Trap `TextField` events and `Button` events. If the `Go` button has been pressed, then extract the contents of the field containing `multiple.subpops` and parse it for errors. If the number of sub-pops has not changed since the last time the button was pressed, then simply `show()` the old `SubPopFrame` (it will contain any previously entered data). Otherwise, instantiate a new `SubPopFrame` containing the default values. If the `purge` button has been pressed, then remove all sub-pop parameters from the database.
  Overrides:
    action in class Component
  See Also:
    SubPopFrame, purgeOldSubPopParameters, purgeOldSubPopExchanges

flushParameters

      public static void flushParameters()

  Collect the contents of each UI component and store it in the `ParameterDB`. The parameters associated with sub-pop exchanges are flushed into the databse in the `action()` method in `SubPopFrame`
  See Also:
    ParameterDB, action

enableButtons

      public static void enableButtons()

  Allow the `SubPopFrame` to re-enable the buttons after the user closes the frame.
  See Also:
    BreedFrame

loadParams

      public static void loadParams()

  This method is responsible for loading parameters onto the `SubPopsPanel` after the user opens a parameter file. It then calls the `loadParams()` method in `SubPopFrame`.
  See Also:
    loadParams