- Paperback: 608 pages
- Publisher: Addison-Wesley Professional; 1 edition (August 19, 2007)
- Language: English
- ISBN-10: 9780132413930
- ISBN-13: 978-0132413930
- ASIN: 0132413930
- Product Dimensions: 6.8 x 1.3 x 9.2 inches
- Shipping Weight: 1.9 pounds (View shipping rates and policies)
- Average Customer Review: 16 customer reviews
- Amazon Best Sellers Rank: #1,110,155 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
From the Back Cover
"Filthy Rich Clients" refers to ultra-graphically rich applications that "ooze" cool. They suck the user in from the outset and hang on to them with a death grip of excitement. "Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java(TM) Applications" shows you how to build better, more effective, cooler desktop applications that intensify the user experience.
The keys to Filthy Rich Clients are graphical and animated effects. These kinds of effects provide ways of enhancing the user experience of the application through more attractive GUIs, dynamic effects that give your application a pulse, and animated transitions that keep your user connected to the logical flow of the application. The book also discusses how to do so "effectively, " making sure to enrich applications in sensible ways.
In-depth coverage includesGraphics and GUI fundamentals: Dig deep into the internals of how Swing and Java 2D work together to display GUI applications onscreen. Learn how to maximize the flexibility of these libraries and use them most effectively.Performance: Follow in-depth discussions and tips throughout the book that will help you write high-performing GUI applications.Images: Understand how images are created and used to make better Java applications.Advanced graphics: Learn more about elements of Swing and Java 2D that are of particular benefit to Filthy Rich Clients. Animation: Discover general concepts of animation, as well as how to use the facilities provided in the Java platform. Learn new utility libraries that vastly simplify animations in Java.Effects: Learn how to create, customize, and use static and animated effects--the mainstays of Filthy Rich Clients.
Code examples illustrate key concepts, and the book's companion Web site, http: //filthyrichclients.org, includes extensive demos, utility libraries, additional information on related technologies, and more.
Informal, fun, and, most of all, useful, this book is great for any developer working with Java to build desktop applications.
About the Author
Chet Haase is a client architect in the Java SE group at Sun Microsystems. Passionate about graphics, he works with all desktop Java technologies, including Swing and Java 2D. He’s worked with graphics technologies from 2D to 3D and from applications down to the driver level. Chet holds an M.S. in computer and information sciences from the University of Oregon and a B.A. in math from Carleton College.
Romain Guy has served as a software engineer at Google and on the Swing Team at Sun Microsystems. His primary interests are graphics and graphical user interface development. Romain has written for several print and online journals, and he holds an M.S. in computer and information sciences.
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
This definitely struck me as a surprise because all of the GUI books I have read on Swing just spit out functions at you and don't explain the underlying architecture. After my Data Structures class, this book was a breath of fresh air.
The authors of the book witch roles and you can tell they work together pretty well. Every question that I have had that is interface related is brought up in this book. They wont go into detail on how to create a JButton or a JLabel. Those are Beginners tasks so if you want to get this book you should already know a thing or two about Swings basic API's. What this book does is teach you how to customize many of those things you use as default.
Understanding the layered panes and glass pane was something I didn't even think about before this book. Again, this book will open your eyes to many things you didn't even think of as a beginner. This is as huge jump from books that you will read about Swing when you are just starting. Because I am modest, I would say that this book is for the intermediate level Swing developer, but many that have used it say that it is an advanced book. That being said, the read is very easy if you have a basic understanding of the Swing, AWT, and 2D APIs.
If you feel you are just passed the beginner phase and are encroaching that intermediate phase in Swing Development...this is the book for you.
I have not found an un-useful idea here.
It also shows you how to make your application more efficient (faster).
The author has already done the timing tests and offer you the results and the routes you should take.
All in all, a fantastic find.
I have also enjoyed this book very much. Many of these techniques, such as using of intermediate images, were known to me, but numerous details escaped my attention. For example, using of 'compatible images.' I had no idea that this notion exists. I also enjoyed the timing experiments with and details of timer granularity, foremost in Windows. Their description of Animators is probably the best and most comprehensive of everything what I saw so far, its a real value-add for me.
I will not repeat the positive accolade summarized here by others, I have one very substantial objection, which is really well summarized in the title used by someone else's comment about this book:
"Practice what you preach."
The book preaches performance, efficiency and style, and yet the authors implement some enormous convoluted scheme around their own code snippets! Of course, being interested in timings and performance of the examples, I wanted to run and to watch them. And... I failed at first. I have spend, or wasted rather if you so want, a lot of time in an attempt to achieve this goal.
This sounds so easy nowadays to use Java Webstart, or merely to deliver some *.java or *.class files, either separate or in a *.jar archive.
Not so for Chet and Romain: Their own web page claims that you can download a plugin for Net-Beans and run the examples. Net Beans has proven to be a product, a specific development environment, with which you may, or may not be familiar. I never used it and I cannot operate it. Nor am I interested in learning it, being perfectly happy with my own Java setup. But be it as it may, I installed it in the hope to run these demos. It flooded my disk with some 125Mbytes and thousands of files, the usual mayhem, but we have now Terabytes at home, don't we? I also downloaded the plugin, and started to click around to get anything running. Lost in unfamiliar windows and menus I found nothing, no way to start any demo.
I must be getting old, do I failed the IQ test? All right than, I give up. Lets download the source code, run javac and be happy. What can be so difficult? Nope! The adventure has just begun!
An Example: Click on Chapter 2, Swing Rendering Fundamentals. You will get an archive frc-chapter2.zip, whose root directory has merely two folders and two empty files with the same name. On a hunch, step down into the directory SwingRenderingFundamentals, only to find another set of folders and a set of empty files, each with the same name like one of the directories. On a hunch lets step down into HighlightedButton, where we find a bunch of alien looking files and 3 more directories, with you guessed it, 3 more empty files carrying the names of these directories.
Among them is build.xml. XML eh? Hmm... what do I do with that? None of my systems can do anything with XML, this book is not about XML, I do not need to use XML, do I? It's a practitioners book about a specific aspect of Java. I would be happy to stay with "javac" and "java" only, please.
On several places I see a directory called CVS, this may or may not be a name of some source code managing tool. For example, a CVS directory (accompanied again by an empty file with the same name) contains 3 files. Each seem to have some generated content, like this file called Entries: /HighlightedButton.java/1.1/Tue May 01 22:48:46 2007/-ko/
Hm... It most probably serves a project tool of a sort. But how this relate to the book about programming graphics in Java and to the task at hand?
But one directory name is "src". Source, hurray, the treasury hunt might be close to an end! Indeed, this is how you can 'fish' for Java files, best done with a script of a sort. Simply copy all Java files into one single place. You will be fine. Deviating from the standard, most of them do not has any package specification corresponding to the directory they were found in. Once you get these files filtered out, you will even find among them Java files containing mere 2-3 lines of code, accompanied by a standard some 30-lines Sun copyright notice. Vive la lawyers!
Equally convoluted is the way to access these files on Java.net. In a hope for an easy one-click demo, and not willing to give up just yet, I registered an account with Java.net and dived into filthyrichclients.dev.java.net, only to find the same convoluted way of keeping Java files here and there among "a forest of directories" and sidecar files. Here however, I got finally educated that CVS is a repository system, and the web pages provide some comprehensive help in its use.
Please do not take me wrong: I do not want dismiss usability of any tool, like NetBeans or CVS, but pardon me, I was happy with my own setup. "If it isn't broken, do not fix it," I do not need to get hundreds of megabytes of some unrelated software, in order to find a few demo lines of Java, do I?
Authors wrote really a good book teaching practitioners algorithmic and best practices in using Java to generate well performing user interfaces. They should be focused strictly on the implementation of just such philosophy, and not on their particular development or source file control tools. The beauty of Java is that it can be used without any special environment. One needs only the Java compiler and the Java Virtual Machine. Compare this convoluted delivery with other (official) Sun Java tutorials, and their well conceived one-click demos. I would suggest to the authors of Filthy Rich Clients to follow this convention. At the least, please place the Java files in one single directory, or make one directory per chapter. That would be all what a reader would need.