Home > Store

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.

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

eBook (Watermarked)

  • Your Price: $38.39
  • List Price: $47.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The 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 discreetly watermarking it with your name, making it uniquely yours.


  • Copyright 2008
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-279960-X
  • ISBN-13: 978-0-13-279960-7

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.

Sample Content

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


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership