From Setup to 3D for Java Graphic Programmers

Good evolution of concepts and coverage of fundaments, short on advanced techniques and sometimes too shallow.


I love working with visual designs in Java, so I tend to pick up anything with Java and Graphics in the title somewhere. I truly enjoyed the first edition of "Graphics Programming with Java", so it seemed worth a look at the second edition. The update brings everything into the Java 2 platform, revising examples and content to employ the Graphics2D API, reducing unrelated coverage to virtually nothing. The book touches on the Java 3D API, but not enough to do more than provide a quick peek at the interface. The rest of the material is improved but not really extended from the first version. Overall, this book is a good investment for any graphic application developer.

If you’re serious about modern graphic application development in Java, you’ll probably need to work with Swing. This books gives you good high-level overviews of the Swing components but it won’t be the only book you need to become effective with it. For beginners, the chapters on how to set up the JDK, Java language basics, layout managers, AWT and Swing components will be useful and interesting. The material is well presented in fairly effective. I found the chapters on color and curves unsatisfying. The Colors chapter was trivial and the spline and bezier curve implementations superfluous, though informative in other ways.

After taking you through all the basics, you’ll get to start working with images in chapter 9. This is a long road for someone already familiar with the basics but builds a good foundation if graphics programming in Java is new to you. The author includes a Windows bitmap, BMP, file reader and takes a look at animated GIFs before moving on to geometry. I liked the basic shape manipulation coverage, the chapter on clipping, and the Mandelbrot and Julia set application, though the latter was not very challenging.

There’s enough material in this book to satisfy the hungry graphic programmer at virtually any level. Much of the early material is fairly novice oriented and the image and geometry coverage is likely to be familiar to experienced Java programmers who already work with visual components. There are a few gold nuggets in these pages that’ll help experienced graphic programmers along with a helping hand. I would have liked a more complete look at the Graphics 2D API and the 3D API coverage was so sparse that it wasn’t really worth including. A look at the Advanced Imaging API would have also been welcome. Perhaps in future versions. In effect, this is still a great investment for any Java programmer interested in graphics programming..