I think the best Java book for absolute beginners BY FAR is "Head First Java" by Kathy Sierra and Bert Bates, published by O'Reilly. Although this book in its later chapters also covers Swing and other more advanced topics, it does not even want you to use an IDE; the authors recommend that you just stick with a simple text editor and the command prompt instead. Oh, and Kathy Sierra is a Mac user, by the way. ;-)
But if you want to use an IDE for Java, I wouldn't even think about Xcode. The industry standards are Eclipse, Eclipse, Eclipse, Netbeans and IntelliJ. (Somehow, there's an emphasis on Eclipse in that list. How come?)
The Cocoa-Java bridge has been officially deprecated by Apple. It still works (as CyberDuck nicely shows off) but it is no longer under development and it is not recommended to begin new projects with it.
The next release of Eclipse/SWT will be Cocoa-based and you can already download nightly builds of Eclipse 3.5 which work very nicely and even support 64-Bit Java 6 on Leopard.
Although QtJambi has also been officially discontinued a few days ago, at least it has been (or very soon will be) released under an LGPL license to "the community". The latest Qt versions also fully support 64-Bit Cocoa, so Open Source hackers might be very well off with using QtJambi. Just don't expect any commercial support for it.
Swing... I know a very successful multi-platform company here in Bonn, Germany, that although they heavily use Java for their server back-ends, they wouldn't touch Swing with a flagpole. They use SWT for their multi-platform-GUI-needs. But truth be told, only their server administration tool is a GUI-Java application; all other apps are developed natively, meaning they use C# & Windows.Forms on Windows and Objective-C/Cocoa on OS X. But the company's boss told me himself that he and his developers are convinced that Swing sucks. I've heard many other voices saying the very same thing over the last years, and when I see how crappy Netbeans performs on my Mac Pro (especially when compared to Eclipse), I tend to believe them. Eclipse runs great, so it must be the GUI toolkit and Java itself that's the bottleneck.