Die Schnittstelle IControl stellt die
                    gemeinsamen Funktionen für alle Controls bereits.
                    IControl erweitert
                    IComponent
                    und somit auch
                    IWidget.
                  
         
Controls stellen Schnittstellen zur Nutzerinteraktion dar. Beispiele für elementare Controls sind Buttons, Checkboxen, Comboboxen, Eingabefelder, Slider etc. Controls können aber auch komplex sein, wie zum Beispiel ein InputComposite.
Controls werden immer zu Containern hinzugefügt. Es folgt eine kurze Übersicht der wichtigsten Methoden:
Mit der folgenden Methode kann der Tooltip Text gesetzt werden:
    void setToolTipText(String toolTip);
                         Wird null gesetzt, dann wird für das
                         Control kein Tooltip angezeigt.
                       
            
Mit den folgenden Methoden können die Layout Constraints für ein Control gesetzt und ausgelesen werden.
    void setLayoutConstraints(Object layoutConstraints);
    Object getLayoutConstraints();
                         Die Layout Constraints können null sein. In
                         der Regel werden die Layout Constraints bereits beim
                         Hinzufügen zum Container gesetzt:
                       
            
1 final IInputField<Date> dateField = container.add(BPF.inputFieldDate(), "growx, w 0::");
                         In diesem Fall würde die Methode
                         dateField.getLayoutConstraints() den String
                         "growx, w 0::" zurückgeben.
                       
            
Die Layout Constraints sind Layouter spezifisch, das bedeutet, ein Layouter definiert, welche Constraints gültig sind.
Werden die Layout Constraints nach dem layouten des zugehörigen Containers geändert, so muss dieser neu gelayoutet werden.
Weitere Informationen finden sich im Abschnitt Layouting
Mittels der folgenden Methoden können die Default Größen für ein Control ermittelt werden.
    Dimension getMinSize();
    Dimension getPreferredSize();
    Dimension getMaxSize(); 
                         Die Methoden dürfen nicht null zurückgeben.
                         Werden eigene Controls entworfen, sollte darauf geachtet
                         werden, sinnvolle Default Größen zu
                         liefern.
                       
            
                         Die MinSize definiert die minimale Größe,
                         die ein Control haben soll, damit es sinnvoll angezeigt werden
                         kann. Die PreferredSize gibt an, wie groß
                         ein Control sein soll, um es optimal anzuzeigen. Die
                         MaxSize definiert, wie groß ein Control
                         maximal angezeigt werden soll. Die Default Größen können sich
                         zur Laufzeit ändern. So ändert sich Beispielsweise die
                         PreferredSize eines Textfeldes abhängig vom
                         gesetzten Text.
                       
            
                         Einige Layouter wie zum Beispiel
                         Mib Layout bieten die
                         Möglichkeit, die Default Größen mit Hilfe von Constraints zu
                         überschreiben. Die MigLayout Constraints
                         "w 0:100:200" setzen zum Beispiel
                         die MinWidth auf 0, die
                         PreferredWidth auf 100
                         und die MaxWidth auf
                         200, unabhängig davon, was die Methoden
                         getMinSize(),
                         getPreferredSize() und
                         getMaxSize() für Werte zurückliefern.
                         Andere Layouter wie zum Beispiel das FillLayout ignorieren die
                         Default Größen vollständig.
                       
            
Mit Hilfe der folgenden Methoden können die Default Größen eines Controls geändert werden:
    void setMinSize(final Dimension minSize);
    void setPreferredSize(Dimension preferredSize);
    void setMaxSize(Dimension maxSize);
                         Nach dem Umsetzen einer Default Größe geben die zugehörigen
                         Getter Methoden den neuen Wert zurück. Wird eine Default Größe
                         auf null gesetzt, wird vom zugehörigen
                         Getter wieder der Default
                               Wert und nicht null
                         zurückgegeben.
                       
            
Mit den folgenden Methoden kann einem Control Drag and Drop Funktionalität hinzugefügt werden:
    IDragSource getDragSource();
    IDropTarget getDropTarget();Für weitere Informationen sei auf den Abschnitt Drag and Drop verwiesen.