Effective Java — Joshua Bloch, Addison-Wesley 2008 (2nd ed.), ISBN 978-0-321-35668-0
(The third edition of this book is now available and covered by an updated review.)
Pro JavaFX 2 — James L. Weaver et al., Apress 2012, ISBN 978-1-4302-6872-7
With most JavaFX literature still based on version 1, this is the first comprehensive title for the current release. However, if you’re expecting a practical guide to building user interfaces you’ll be disappointed. The chapters on layout and basic controls are maddeningly short and vague, inferior even to Oracle’s own free tutorials. In an unfortunate coincidence, many code samples use the builder pattern which has been deprecated in Java 8. Meanwhile, JavaFX 2’s new markup language FXML gets a ludicrous seven pages while an incredible 135 out of 619 pages are wasted on Visage, the informal (and irrelevant) successor to the obsolete JavaFX Script. That’s blatant content recycling from the first edition which had covered that language extensively.
Pro JavaFX 2 has some merit regardless. JavaFX comprises not only UI controls and FXML, but also a complex new application infrastructure. The chapters devoted to aspects of that subject – concurrency, data binding with properties and collections, interaction with web services – are much more detailed and well worth reading. Chart controls and media playback are also explained quite thoroughly. You’ll have to decide for yourself if these bright spots justify putting up with the book’s significant content gaps, never mind the often clumsy and repetitive writing. JavaFX deserves better than this.
(See Developer Books for my complete review archive. I later removed Pro JavaFX 2 from that archive as it was quickly obsoleted by new JavaFX versions and a later edition, which I haven’t read.)