Rather than comb through these well-written volumes looking for things to pick apart, this review will focus on their overall content. I'll be looking at how easy it is to use each book as a tutorial and as a reference, general readability, and those particular features of each book that add value. Occasional pitfalls and omissions crop up, and I'll clue you in on those as well.
The major difference among the books is not in quality (which is uniformly high), but in content, which goes beyond the basic JavaBeans model to educate the reader about the broader context of Java development.

Elliotte Rusty Harold is a prolific writer, and has several Java-related books to his name. (See Resources for a list of his books.) His newest effort, JavaBeans: Developing Component Software in Java (355 pages, IDG Books), is an accessible and entertaining introduction to JavaBeans technology. That this book was written in a bit more than four months, frankly, is astounding: There's a lot of valuable material here, and the book is well-written.
Section 1: Introducing JavaBeans
The book opens with a high-level look at component software, introducing the reader to the general concepts involved in using
software components, and describing some of their benefits. The first chapter, "Introducing JavaBeans," also covers definitions
of such terms as persistence, introspection, event handling, and distributed computing. This chapter provides an explanation
of other component models, including CORBA, Visual Basic VBX files, and an amusing critique of Microsoft's entrant into the
component technology world, ActiveX. This author certainly makes his views clear on the quality of what's coming out of Redmond!
JavaBeans continues with short discussions of the key technologies specific to JavaBeans technology, including persistence, packaging (JAR files), events, security, and networking. An extended introduction to the BeanBox demonstrates these technologies from the "outside," showing how they work in the BeanBox. The BeanBox is followed by a very simple tutorial example -- creating a JavaBean from scratch. This demonstrates how the simpler features of JavaBeans work, discussing some of the programming issues that inevitably arise.
Section 2: Key Technologies
JavaBeans' second section, "Key Technologies," expands on the basic concepts found in the first part of the book. This section includes
code samples and points out potential pitfalls, confusions, and flaws in the Java API. (Programmers can be hard to please.)
"Reading Signatures at Runtime," a chapter on using java.lang.reflect (the Java "reflection" mechanism), describes how builder tools figure out a class's methods, event sets, fields, and modifiers,
and describes how to use reflection in a Java program. Because most JavaBeans developers will seldom, if ever, need to use
reflection, it may have been more logical to put this section toward the end of the book, perhaps even as an appendix. The
author does explicitly state, however, that he believes developers should always know more than they have to know, and he delivers on this premise by providing good technology backgrounders like the reflection chapter.
moajar utility mentioned in this article's discussion of Developing Java Beans book can be found at http://www.camb.opengroup.org/RI/java/moa/moajar/index.html