Um die Controls eines Containers anzuordnen benötigt man einen Layouter. Man kann entweder vorgefertigte Layouter verwenden, oder selbst einen Custom Layouter implementieren.
                  Anfangs unterstütze jowidgets ausschließlich
                  Mig Layout als Layout
                  Mechanismus. Dieses musste von einer SPI Implementierung
                  unterstützt werden [9]. Für die Definition des Layouts wird dabei die Klasse
                  MigLayoutDescriptor verwendet, welche das
                  Tagging Interface ILayoutDescriptor
                  implementiert.
                
         
                  Später wurde im Rahmen einer
                  Bacheloarbeit jowidgets um die
                  Möglichkeit erweitert, eigene Layouter zu erstellen. Dabei wurde
                  die Schnittstelle ILayouter eingeführt, welche
                  ebenfalls von ILayoutDescriptor abgeleitet ist.
                  Zudem wurde Mig Layout für diese
                  Schnittstelle portiert, so dass eine SPI Implementierung nicht
                  mehr zwingend eine Mig Layout Implementierung anbieten muss.
                  Außerdem wurden weitere vorgefertigte Layouter hinzugefügt.
                
         
Zur besseren Unterscheidung wird das portierte Mig Layout im folgenden als Mib Layout[10] bezeichnet. Im Gegensatz dazu wird Mig Layout als Natives Mig Layout bezeichnet, wenn betont werden soll, dass es sich nicht um Mib Layout handelt.
Um ein Layout auf einem Container zu setzen, bietet dieser die folgenden Methoden an:
    void setLayout(ILayoutDescriptor layoutDescriptor);
    <LAYOUT_TYPE extends ILayouter> LAYOUT_TYPE setLayout(
        ILayoutFactory<LAYOUT_TYPE> layoutFactory);
                  Mit Hilfe der ersten Methode wird entweder ein
                  ILayouter oder der native
                  MigLayoutDescriptor
                  gesetzt.
                
         
                  Die zweite Methode bietet die Möglichkeit, einen Layouter mit
                  Hilfe einer ILayoutFactory zu setzen. Der
                  Layouter wird dabei erzeugt und zurückgegeben. Die Layout Factory
                  sieht wie folgt aus:
                
         
  1  public interface ILayoutFactory<LAYOUTER_TYPE extends ILayouter> {
  2  
  3      LAYOUTER_TYPE create(IContainer container);
  4  
  5  }
                  Layout Factories lassen sich für verschiedene Container
                  wiederverwenden. Die vordefinierten Layouts von Jowidgets (mit
                  Ausnahme des nativen Mig Layout) bieten eine Implementierung der
                  ILayoutFactory Schnittstelle.