Introduction to BreezyGUI

It is an often repeated statistic that 70% of the programming effort goes into interface development.  Anyone who has used Java's complex Abstract Windowing Toolkit (AWT) has probably experienced the truth of this statistic first hand.  While powerful and flexible, the AWT provides an ongoing challenge for any programmer, involving as it does the coordination of layout classes, event classes, and listener interfaces. 

Fortunately, object-oriented systems are highly malleable, and we have been able to extend the AWT to create an easy to use and lightweight interface toolkit called BreezyGUI.  BreezyGUI sits on top of the AWT, giving access to essential AWT capabilities while hiding the AWT's complexities. 

Users of BreezyGUI specify a window's appearance and associated event handling routines in the context of BreezyGUI's simplified yet realistic framework.  

Not surprisingly BreezyGUI does not support all the features and nuances of the native AWT; however, it is able to handle the needs of developers in many situations. 

We expect BreezyGUI to be especially appealing to those new to Java who normally face a very steep learning curve as they attempt to master the AWT.  By beginning GUI development with BreezyGUI, programmers can explore event-driven programming, the properties of Java's basic window components, and the design of GUI-based applications in an easily understood setting.  Later, as the need arises, they can transfer this knowledge to the more formidable setting of the native AWT.  The time they spend using BreezyGUI will not have been wasted.  Starting off easy is often the best and quickest way to mastery a difficult topic, and the last chapter of this manual shows the reader how to make the transition from BreezyGUI to the full AWT.

We anticipate that even experienced programmers will sometimes prefer to use BreezyGUI, especially when they need to get an interface up and running quickly. 

Finally, we provide the full source code for BreezyGUI and invite experienced programmers to extend the framework to suit their particular needs.