Rating:  Summary: Response to anonymous review from Cohoes, New York (2/17/99) Review: To the reviewer from Cohoes, New York dated February 17, 1999: (Updated)Uh oh... I normally just feel lousy the whole day when we get a bad review on Amazon. However, in this case, there are some things we should definately point out to other readers about your advice the setValue() method of the bar. You need to update the display with pbar.paint(pbar.getGraphics()). Again, no clue from the book. Actually, this is incorrect. If you look at the source code for JProgressBar.java, you'll see that calling setValue() will fire a property change that will propogate to the JProgressBar's view, which will in turn automatically repaints the progress bar. You may be running into a problem with updates to a (realized) component's view that should be placed on the event dispatching thread... see below. BTW, you can use the abbreviated pbar.repaint() instead of pbar.paint(pbar.getGraphics()). > To get the JProgressBar to not flicker all that is necessary is to enable the double buffering property of JProgressBar, a big code saver over the code needed to double buffer in the AWT. Again, no help from the book. Well, this is true for every Swing component, not just JProgressBar! We discuss these common features of the Swing components in Chapter 3, and in the case of double buffering, a little later in Chapter 28 as well. You can even request that the RepaintManager itself disable double buffering inside all your components with a simple call to the RepaintManager! With this capability, I can certainly imagine getting frustrated if you attempted to duplicate an AWT double buffering mechanism for the Swing components yourself! (Hats off to you for the work, though.) But it's already there for you! There are several other features inherent to all the Swing components that we cover in Chapter 3 as well. > When you create a JList of Vector[] objects, what is displayed in the list is what the toString() method of the objects returns. I found this out for myself. Yes, I thought we had this in there somewhere, but I don't see it under the constructor. We will add this in the next printing to avoid confusion with the potential display of a Vector of Component or JComponent objects. > The book DOES explain how to use the JProgressBar in a thread that makes the call to paint unnecessary. However, this is NOT what I wanted or needed to do. Watch out! It SHOULD be! All updates to the visual state of a realized component should be made through the event dispatching thread; this warning was explicitly made by JavaSoft shortly before the release of the Swing components. Otherwise, you're asking for some serious pain on the thread-level in terms of repainting, which we all know is the hardest to debug! (We cover this "feature" in Chapters 1 and 28.) In Chapter 28, we even pointed out that the events generated by most fireXX() methods are not necessarily placed on the event dispatching thread either, likely a speed tradeoff which can cause headaches in some arcane places. We realize that mastering Swing is a massive undertaking. (When we started this book, we thought we would end up with a 600-800 page book. We ended up with a book that almost exceeded the size allowed by out printer-- the largest in O'Reilly's history!) However, as Dave Wood stated above, we're committed to giving you a complete reference to the Swing classes, instead of a more "selective" one that convienently leaves out the harder areas. Most readers know that at O'Reilly, we take errors very seriously. Question sent to bookquestions@ora.com go straight to us; we don't selectively ignore them or label questions "ridiculous" or "clueless," and we answer nearly all the emails we receive personally. In short, Dave, Marc, and I are committed to helping you learn Swing, learn all of it, and learn it right-- no matter whether you're just starting with Java or writing an entire Swing look-and-feel. Robert Eckstein reckstei@oreilly.co
Rating:  Summary: Response to Reviewer from Cohoes, New York (2/17/98) Review: Please see posting in author section above for response to anonymous review from Cohoes, New York below. (Amazon, please post this with the author comments at the same time. Thanks!)
Rating:  Summary: Disappointing Review: After using this book for two weeks here is what I did NOT find: 1) when you create a JList of Vector[] objects, what is displayed in the list is what the toString method of the objects returns. I found this out for myself with no clue from the book. 2) in order to display a JProgressBar it is not enough to use the serValue method of the bar. You need to update the display with pbar.paint(pbar.getGraphics()). Again, no clue from the book. 3) to get the JProgressBar to not flicker all that is necessary is to enable the double buffering property of JProgressBar, a big code saver over the code needed to double buffer in the AWT. Again, no help from the book. The book DOES explain how to use the JProgressBar in a thread that makes the call to paint unnecessary. However, this is NOT what I wanted or needed to do.
Rating:  Summary: Grew on me Review: I originally considered this book pretty mediocre. The authors put some methods in tables and list others. Also some chapters assume you already know too much about Swing, which was frustrating, and others use classes defined in chapters way back in the book. However, shortly after I started coding with Swing, I found this book an indespensable reference to the Swing libraries that *way* exceeds other books in its coverage. The books may not be for beginners, but I highly recommend it for medium to advanced-level Swing programmers, as its the only one that goes far enough into topics considered "expert" to be useful.
Rating:  Summary: Save your money stick with Sun Tutorial Review: The authors have an extremely confusing style that makes the topic more complex then what it should be. This is destined to become an expensive dust collector. Save your money and stick with the Sun Docs.
Rating:  Summary: Not the best Swing book on the market. Review: This was the first Swing book that I bought and although it got me started I can't help feeling that it is quite badly organised and feels like a "rush job". My other criticism is that the examples usually cover just the simple uses of a component ignoring the more complicated uses. Despite this I did find the look and feel chapter to be very good, however in hindsight this would not be my first choice for Swing reference.
Rating:  Summary: Java Swing is a MUST-BUY book for serious Java developers Review: This book shines the spotlight on the voluminous swing APIs. This book is a perfect cross between a reference and a tutorial. It not only contains full details on every public and protected method and member in the entire class hierarchy, but clearly and consisely explains how the class fits in and how to use it effectively. There are plenty of well written examples as well. Finally, the book is well-edited. Considering it was written against a late-beta version of JDK 1.2, it has remarkably few typos or errors.
Rating:  Summary: The best Swing book currently published Review: For those with some experience with Swing this is the best reference available (at least until the javasoft book comes out)
Rating:  Summary: Taking the full advantage of the Swing classes Review: The Swing classes eliminate Java's biggest weakness: its relatively primitive user interface toolkit. Java Swing helps you to take full advantage of the Swing classes, providing detailed descriptions of every class and interface in the key Swing packages. It shows you how to use all of the new components, allowing you to build state-of-the-art user interfaces and giving you the context you need to understand what you're doing. It's more than documentation; Java Swing helps you develop code quickly and effectively.
Rating:  Summary: Great book on using Swing Review: This is a great book on the entire Swing package. It outlines what Swing can do and how it works. The examples are basic, but you can easily extend them into complex applets and applications with little effort. Beginners take note--this will not teach you Java! The book assumes that you know some Java already, and have some experience with AWT. Bottom Line: if you want to use Swing for creating GUI's, this is the book for you.
|