Alle Widgets implementieren die Schnittstelle
                    org.jowidgets.api.widgets.IWidget. Es folgt
                    eine kurze Übersicht über die wichtigsten Methoden:
                  
         
    Object getUiReference();
                         Liefert die UI Referenz des Widgets. Der Typ hängt von der
                         verwendeten SPI Implementierung ab. Beispielsweise wird für
                         ein org.jowidgets.api.widgets.IButton bei
                         Verwendung der Swing Spi Implementierung ein
                         javax.swing.JButton und bei der Verwendung
                         der SWT SPI Implementierung ein
                         org.eclipse.swt.widgets.Button
                         zurückgegeben.
                       
            
Die Ui Referenz kann zum Beispiel verwendet werden, um native Widgets oder Funktionen nativer Widgets zu verwenden, welche in jowidgets nicht vorhanden sind. Allerdings hat man dann nicht mehr die Möglichkeit, den Code mit anderen nativen Ui Technologien zu verwenden.
Tipp: Wird solch eine natives Widget oder eine Funktion mehrfach verwendet, empfiehlt es sich, eine eigene Widget Schnittstelle dafür zu definieren. (Siehe dazu Erstellung eigener Widget Bibliotheken). Die Widget Implementierung kann dann vorerst nur für die benötigte native Technologie implementiert werden. Soll ein Modul, welches dieses Widget verwendet, später auch mit einer anderen Technologie verwendet werden, muss nur die Implementierung des Widgets angepasst werden, und nicht das Modul.
    void setEnabled(boolean enabled);
    boolean isEnabled();Ein Widget das disabled ist nimmt keine Nutzereingaben mehr an. Per default sind alle Widgets initial enabled.
    IWidget getParent();Liefert das übergeordnete Widget oder null, falls das Widget ein Root Element ist.
    IWidget getRoot();Für zusammengesetzte (Composite) Widgets wird das Root Widget zurückgegeben, also zum Beispiel ein org.jowidgets.api.widgets.IComposite. Ansonsten wird das Widget selbst zurückgegeben.
    void dispose();
    boolean isDisposed();
    
    void addDisposeListener(IDisposeListener listener);
    void removeDisposeListener(IDisposeListener listener);
                         Mit Hilfe der Methode dispose() kann ein
                         Widgets disposed werden, wenn man es
                         nicht mehr benötigt. Ein Widget, das
                         disposed wurde, kann nicht mehr verwendet
                         werden. Wird zum Beispiel ein Fenster
                         disposed wird es auch geschlossen. Wird
                         ein Control disposed, wird es auch aus seinem Container
                         entfernt. Mit Hilfe eines IDisposeListener
                         kann man sich als Observer registrieren, um über das
                         Dispose eines Widgets informiert zu
                         werden.