This book is a lot of fun as it focuses on many interesting ideas for Java programmers. Do not expect complete solutions to complex problems. Instead it highlights many open source Java packages and APIs and gives very simple examples of how they can be used. It is up to the reader to go to the web, download the various packages, and play with them. For example, in the area of music, the author discusses JMusic, which provides a solid framework for computer-assisted composition in Java, and is also used for generative music, instrument building, interactive performance, and music analysis. The book just shows a simple program that generates a filtered sawtooth wave, and a few other simple examples. The readers are expected to explore the API themselves for meatier applications. Other open source packages that are highlighted and explored on a simple level are JFugue, another API for music programming, Javolution for embedded programming applications, and Piccolo, an API from the University of Maryland that supports the development of 2D structured graphics programs in general and Zoomable User Interfaces (ZUIs), in particular.
The book also explores the more interesting parts of the Java language itself such as using the AWT Robot class for automating key/mouse events, using the new enum types in Java 5, and several off-beat applications of the various Java classes that handle XML data.
None of the ideas shown here lead to full blown applications that will make you rich. Instead, the idea is to get you thinking in creative ways about what can be accomplished with the Java language and also to introduce you to some interesting open source API's that are out there on the web that are both labor-saving and creative. I would recommend this book to any experienced Java programmer. I notice that Amazon does not show the table of contents so I do that here:
Chapter 1: Java Language and Core API
Chapter 2: String Utilities
Chapter 3: Processing XML and HTML
Chapter 4: Crawling the Semantic Web
Chapter 5: Math and Science
Chapter 6: Graphics and Data Visualization
Chapter 7: Multimedia and Sychronization
Chapter 8: Fun, Integration and Project Ideas