Mehr lesen
Foreword xvii Preface xix Acknowledgments xxv About the Authors xxvii Introduction 1Part I: Graphics and GUI Fundamentals 9Chapter 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 151Chapter 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 263Chapter 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 421Chapter 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 ...