BluePrints werden benötigt, um Widgets zu erzeugen.
            Mit Hilfe eines BluePrint wird das (Default) Setup eines Widgets
            festgelegt. Wenn ein Widget erzeugt wird, werden alle
                  Eigenschaften, welche auf dem Setup definiert sind, für das Widget
                  übernommen. Einige Parameter eines Setups sind Pflichtparameter.
                  Diese sind sind mit der @Mandatory Annotation
                  gekennzeichnet. Für Pflichtparameter existieren, wenn dies
                  sinnvoll möglich ist, Defaultwerte, welche
                  beliebig überschrieben werden können. Siehe dazu auch
                  Widget Defaults. Die Setter
                  Methoden eines BluePrint haben, wie beim Builder Pattern üblich,
                  immer die Instanz als Rückgabewert. Dadurch lassen sich die
                  Methodenaufrufe einfach verketten.
                
         
                  Ein BluePrint kann Eigenschaften enthalten, welche für das Widget
                  nicht mehr veränderbar sind. Zum Beispiel muss die
                  Orientation eines
                  SplitComposite initial auf horizontal oder
                  vertikal festgelegt werden, und ist nachträglich nicht mehr
                  änderbar. Durch die klare Trennung der Setup und Widget
                  Schnittstellen lassen sich (auch für eigene Widgets) sogenannte
                  imutable
                     Member einfach umsetzen, ohne dabei lange Parameterlisten
                  in Konstruktoren zu benötigen. Dies kann die Implementierung eines
                  Widgets erleichtern, weil nicht alle Eigenschaften modifizierbar
                  implementiert werden müssen.
                
         
Die Frage, ob eine Eigenschaft imutable ist oder nicht ist eine Designfrage. Man könnte sich zum Beispiel auf den Standpunkt stellen, dass ein Fenster entweder closeable ist oder nicht. Diesen Zustand während der Anzeige des Fensters zu ändern wäre ungewöhnlich, daher kann man sich den Implementierungsaufwand dafür auch einsparen. Das man den Titel eines Fensters zur Laufzeit ändert, ist jedoch üblich. Beispielsweise zeigt das Explorer Fenster von Windows immer den ausgewählten Ordner im Titel an. Diese Eigenschaft sollte also eher veränderbar entworfen werden. Das Prinzip, dass Widgets unveränderbare Eigenschaften haben, findet sich auch bei SWT wieder. Dort werden diese über den Style, welcher eine Bitmaske darstellt, gesetzt.
Für die Erstellung eigener Widget Bibliotheken kann der BluePrint Mechanismus verwendet werden. Dabei müssen die BluePrint Schnittstellen nicht selbst implementiert werden, da die Implementierung von der Blue Print Proxy Factory mit Hilfe von Java Proxies umgesetzt wird. Das Definieren der BluePrint Schnittstelle reicht also aus.