I already know about the tutorials on Oracle's site. I would like something with more practical advice but also with a more systematic coverage of the fundamental concepts . I am not interested in Swing and GUI desktop application, more into batch image processing.
-
Best link to study java 2d. [Click Here](http://www.java2s.com/Code/Java/CatalogJava.htm) – Ankit May 05 '11 at 15:38
2 Answers
I found the O'Reilly book by Jonathan Knudsen to be a good resource for me.
Java 2D Graphics
Jonathan Knudsen
ISBN 1-56592-484-3
That said, it is kind of hard to address tons of 2D API stuff without stumbling upon some of Swing's details, as the default Graphics rendering object of the Swing drawing routines is a Graphics2D object. So the simplest thing to do is to override a Component's rendering routine to demonstrate the point you are trying to make.
That said, the above book is also a bit dated from the Swing rendering point of view. The correct way of handling Swing's newer multi-threading properties (invoking Runnables via Swing's invokeLater(...)
) isn't even mentioned. However, the actual 2D API is covered in good depth and detail, and it does provide some pointers for "out of Swing" 2D processing (A PNG Decoder example in chapter 11).

- 69,361
- 7
- 100
- 138
-
Thanks. According to Amazon, this book is more than ten years old. Is the information still reliable? – Ludovico Fischer May 05 '11 at 15:40
-
I was updating as you asked the question. The basic core API is mostly the same, not different enough to throw you for a loop; however, the actual Swing architecture now has a lot of changes. It can be a (small) challenge to make the code work in the "new" Swing way to do things, but none of that seems to actually affect the 2D API calls; it is all in the windowing set-up, tear-down, and how the rendering loop of a Component is handled. – Edwin Buck May 05 '11 at 15:42
-
The key points is that it does a good job in describing the core objects of the 2D API, and how to use them. Perhaps that's not enough for you, as it is aggravating "mapping" it into the newer Swing ways of doing things. – Edwin Buck May 05 '11 at 15:43
The very best introduction I have found until now is this two-part article series on the Sun Developer Network (now Oracle). It starts at http://www.oracle.com/technetwork/articles/javase/java2dpart1-137217.html.
That said I'm still wishing for something more substantial.

- 432
- 7
- 19

- 1,602
- 11
- 11