Home > Store > Programming > Java

larger cover

Add To My Wish List

Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java™ Applications

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Extras
  • Reviews
  • Sample Content

Product Author Bios

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.

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™ 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 includes

  • Graphics 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.

Customer Reviews

38 of 39 people found the following review helpful
5.0 out of 5 stars A fun and useful Java book, August 22, 2007
By 
calvinnme - See all my reviews
(HALL OF FAME REVIEWER)    (TOP 500 REVIEWER)    (VINE VOICE)   
This review is from: Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications (Paperback)
This is one of those "fun books" on Java that you used to see so much of in the 90's but are pretty much no longer written. This book is about building better desktop applications that employ interesting graphical and animated effects. This book was meant to be worked through from beginning to end, although if you are already familiar with the technology that does not mean you can't skip around. The book has plenty of code and some math. However, as in the example in the section on morphing, the book does not try to get into heavy-duty math. If there are open source libraries that do the trick, as there are in the case of morphing effects, the authors refer you to that library. They do explain math if all it involves is something on the level of fairly simple matrix algebra - blurring for example. The book is not a primer on Swing. It assumes the reader has experience in that area. However, some of the touchier aspects of Swing that may not be self-evident to even experienced Swing... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful
5.0 out of 5 stars EXCELLENT Learning Material, August 14, 2008
This review is from: Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications (Paperback)
This book will save you hours of trouble shooting the little things that don't work as intuitively as they should in Java.
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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful
5.0 out of 5 stars An excellent must have for J2SE, March 31, 2008
This review is from: Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications (Paperback)
To push java's ui capabilities has in the past been a bit of a struggle due to the many ways of dealing with Swing, repaints, events, animation etc. This book is an absolute life saver in terms of presenting a unified best practice strategy for everything a ui developer would wish to do in java. It creates very simple applications with solid explanations of what the code is doing, from the low level to the high level. It is also written in a very personable style and the book moves easily and logically through the related material. I wish I had read this book 4 years ago.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 11 customer reviews...

Online Sample Chapter

Using Java 2D's Image-Processing Model

Index

Download the Index

Preface

Download the Preface

Foreword

Download the Foreword

Introduction

Download the Introduction

Table of Contents

Foreword xvii

Preface xix

Acknowledgments xxv

About the Authors xxvii

Introduction 1

Part I: Graphics and GUI Fundamentals 9

Chapter 1: Desktop Java Graphics APIs: Swing, AWT, and Java 2D 11

Abstract Window Toolkit (AWT) 12

Java 2D 13

Swing 13

Chapter 2: Swing Rendering Fundamentals 15

Events 16

Swing Painting 17

Swing Rendering 20

Double-Buffering 28

Threading 31

Chapter 3: Graphics Fundamentals 43

Java 2D 43

Rendering 45

Chapter 4: Images 91

Image Types 92

BufferedImage 95

Image Scaling 98

Chapter 5: Performance 115

Use the Clip 115

Compatible Images 121

Managed Images 126

Intermediate Images 134

Optimal Primitive Rendering 143

Benchmark 144

Command-Line Flags 145

Part II: Advanced Graphics Rendering 151

Chapter 6: Composites 153

AlphaComposite 153

AlphaComposite: The 12 Rules 155

Creating and Setting Up an AlphaComposite 163

Common Uses of AlphaComposite 164

Issues with AlphaComposite 168

Create Your Own Composite 170

Summary 177

Chapter 7: Gradients 179

Two-Stops Linear Gradient 179

Special Effects with Regular Gradients 182

Multistops Linear Gradient 187

Radial Gradient 189

Optimizing Gradients 193

Chapter 8: Image Processing 199

Image Filters 200

Processing an Image with BufferedImageOp 201

AffineTransformOp 203

ColorConvertOp 204

ConvolveOp 206

LookupOp 211

RescaleOp 213

Custom BufferedImageOp 214

A Note about Filters Performance 222

Summary 222

Chapter 9: Glass Pane 223

Painting on the Glass Pane 225

Blocking Input Events 230

Chapter 10: Layered Panes 237

Using Layered Pane Layers 238

Ordering Components within a Single Layer 242

Layered Panes and Layouts 243

Alternative to JLayeredPane with Layouts 244

Chapter 11: Repaint Manager 249

When Swing Gets Too Smart 249

Meet the RepaintManager 251

A Reflection on RepaintManager 253

Summary 262

Part III: Animation 263

Chapter 12: Animation Fundamentals 265

It’s About Time 265

Fundamental Concepts 266

Frame-Based Animation 266

Timing (and Platform Timing Utilities) 275

Resolution 288

Animating Your Swing Application 300

Summary 314

Chapter 13: Smooth Moves 315

Background: Why Does My Animation Look Bad? 315

What Makes Animations Choppy, and How to Smooth Them Out 316

SmoothMoves: The Demo 335

Summary 341

Chapter 14: Timing Framework: Fundamentals 343

Introduction 343

Core Concepts 345

Interpolation 359

Summary 378

Chapter 15: Timing Framework: Advanced Features 379

Triggers 379

Property Setters 392

Summary 420

Part IV: Effects 421

Chapter 16: Static Effects 423

Blur 423

Reflection 434

Drop Shadows 437

Highlights 442

Sharpening 450

Summary 458

Chapter 17: Dynamic Effects 459

Motion 460

Fading 465

Pulse 473

Spring 484

Morphing 489

Summary 495

Chapter 18: Animated Transitions 497

Animating Application State Segues 497

Animated Transitions: The Library 501

Example: SearchTransition 503

Example: SearchTransition Revisited: Customization 516

Example: ImageBrowser 519

Animated Transitions: Under the Hood, or How Do You Get Swing to Do That? 527

Summary 530

Chapter 19: Birth of a Filthy Rich Client 531

Aerith 531

Workflow Paper Design 533

The Vision 535

Screen Paper Design 537

Mockup 538

From Mockup to Code 540

But . . . I’m Not an Artist! 544

Choosing Nice Colors 545

Read Design Books 547

Summary 548

Conclusion 549

Index 553

Downloadable Sample Chapter

Download Chapter 8: Image Processing

 
Best Value

Book + eBook Bundle  $107.98  $64.79

Book Price $47.99
eBook Price $16.80
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $59.99  $47.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $47.99  $38.39

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.