In Chapter 13 of my book, Understanding Object-Oriented Programming with Java, published by Addison-Wesley in 1998, I discuss the Java AWT, or Abstract Windowing Toolkit. The text of this chapter is available here both as postscript and as pdf. (Note, these files were produced from the original Latex sources, and differ in appearance from the text in the book).
In the additional material for the previous chapter, chapter 18, I also included a link to a Discrete Event-Driven Simulation framework written in in C++ that I developed for a book on data structures.