Cart
Free US shipping over $10
Proud to be B-Corp

Rich Client Programming Tim Boudreau

Rich Client Programming By Tim Boudreau

Rich Client Programming by Tim Boudreau


$10.00
Condition - Good
Out of stock

Summary

A guide to rich client development with NetBeans. It provides an introduction to the NetBeans module development and NetBeans APIs. It helps you learn various techniques for building desktop software. It provides instructions for creating rich client applications on top of the Net Beans Platform and plugins for Net Beans IDE.

Rich Client Programming Summary

Rich Client Programming: Plugging into the NetBeans Platform by Tim Boudreau

The open-source NetBeans Platform is an extraordinarily powerful framework for building "write once, run anywhere" rich client applications. Now, for the first time since the release of NetBeans IDE 5.0, there's a comprehensive guide to rich client development on the NetBeans Platform.

Written for Java developers and architects who have discovered that basic Swing components are not enough for them, this book will help you get started with NetBeans module development, master NetBeans' key APIs, and learn proven techniques for building reliable desktop software. Each chapter is filled with practical, step-by-step instructions for creating complete rich client applications on top of the NetBeans Platform and plugins for NetBeans IDE.

Rich Client Programming's wide-ranging content covers

  • Why modular development makes sense for small, medium, and large applications
  • Using NetBeans to accelerate development and improve efficiency
  • Leveraging NetBeans productivity features, from the Component Palette to Code Completion
  • Leveraging NetBeans' modular architecture in your own applications
  • Implementing loosely coupled communication to improve code maintainability and robustness
  • Managing user- and system-configuration data
  • Building reloadable components with solid threading models
  • Constructing sophisticated multiwindow applications and presenting rich data structures to users
  • Adding user-configurable options
  • Integrating Web services with NetBeans desktop applications
  • Automating module updates and providing user help
Foreword by Jonathan Schwartz
Foreword by Jan Chalupa
Preface
About the Authors and Contributors
Acknowledgments

Chapter 1: Getting Started with the NetBeans Platform
Chapter 2: The Benefits of Modular Programming
Chapter 3: Modular Architecture
Chapter 4: Loosely Coupled Communication
Chapter 5: Lookup
Chapter 6: Filesystems
Chapter 7: Threading, Listener Patterns, and MIME Lookup
Chapter 8: The Window System
Chapter 9: Nodes, Explorer Views, Actions, and Presenters
Chapter 10: DataObjects and DataLoaders
Chapter 11: Graphical User Interfaces
Chapter 12: Multiview Editors
Chapter 13: Syntax Highlighting
Chapter 14: Code Completion
Chapter 15: Component Palettes
Chapter 16: Hyperlinks
Chapter 17: Annotations
Chapter 18: Options Windows
Chapter 19: Web Frameworks
Chapter 20: Web Services
Chapter 21: JavaHelp Documentation
Chapter 22Update Centers
Chapter 23: Use Case 1: NetBeans Module Development
Chapter 24: Use Case 2: Rich Unger on Application Development
Chapter A: Advanced Module System Techniques
Chapter B: Common Idioms and Code Patterns in NetBeans
Chapter C: Performance
Index

About Tim Boudreau

Tim Boudreau coauthored NetBeans: The Definitive Guide (O'Reilly), served on the team that open-sourced NetBeans, and continues to develop for the NetBeans project.

Jaroslav Tulach cofounded the NetBeans project, and remains a leading guardian of the project API.

Geertjan Wielenga is the technical writer responsible for NetBeans documentation relating to module development and rich-client application development.

Table of Contents

Foreword by Jonathan Schwartzxv
Foreword by Jan Chalupaxvii
Prefacexix
About the Authors and Contributorsxxvii
Acknowledgmentsxxxi
Chapter 1: Getting Started with the NetBeans Platform1

1.1Setting Up the IDE1
1.2NetBeans IDE Basics3

Chapter 2: The Benefits of Modular Programming 11

2.1Distributed Development11
2.2Modular Applications 13
2.3A Modular Programming Manifesto15
2.4Using NetBeans to Do Modular Programming19

Chapter 3: Modular Architecture23

3.1ModulesThe Assembly Units of a Modular Application 23
3.2Types of Modules24
3.3Module Lifecycle29
3.4Groups of Modules33

Chapter 4: Loosely Coupled Communication 39

4.1Registration and Discovery39
4.2MetaInf Services41
4.3The Global Lookup43
4.4Writing an Extension Point46

Chapter 5: Lookup49

5.1Objects That Own Lookups53
5.2Lookup as a Communication Mechanism55
5.3Lookups and Proxying58
5.4Lookup and Selection62
5.5Writing Lookup-Sensitive Actions63
5.6Tracking the Global Selection64
5.7Legacy Variants of the Lookup Pattern in NetBeans APIs65
5.8Common Lookup Patterns66

Chapter 6: Filesystems69

6.1FileSystems and FileObjects70
6.2What Kinds of FileSystems Will I Be Dealing With?71
6.3Layering72
6.4XML Filesystems73
6.5Declarative Registration II: The System Filesystem74
6.6Getting from FileObjects to Java Objects88
6.7Browsing the System Filesystem96
6.8Conclusions96

Chapter 7: Threading, Listener Patterns, and MIME Lookup103

7.1Creating the Modules and SPI104
7.2Implementing ListModelProvider107
7.3Providing a UI Component123
7.4Using the Pseudo Navigator132
7.5Conclusion: PseudoNavigatorWhat's Wrong with This Picture?132

Chapter 8: The Window System135

8.1What the Window System Does137
8.2Classes in the Window System API139
8.3Using TopComponent141
8.4Persisting State across Sessions145
8.5Window System Persistence Data147
8.6Creating Editor-Style (Nondeclarative) TopComponents152
8.7Advanced Window System Configuration: Defining Your Own Modes153
8.8Using TopComponent Groups158

Chapter 9: Nodes, Explorer Views, Actions, and Presenters163

9.1The Nodes API164
9.2The Explorer API177
9.3Actions190
9.4Node Properties199
9.5Nodes and DataObjects: Creating a System Filesystem Browser203
9.6Epilogue: Of Nodes, Property Sheets, and User Interface Design205

Chapter 10: DataObjects and DataLoaders207

10.1DataObjects: Where Do They Come From?210
10.2Adding Support for a New File Type212
10.3Using Custom File Types Internally234
10.4Serialized Objects and the System Filesystem235

Chapter 11: Graphical User Interfaces237

11.1Introduction237
11.2Creating a New GUI Form240
11.3Placing and Aligning a Component in a Form240
11.4Setting Component Size and Resizability242
11.5Specifying Component Behavior and Appearance244
11.6Generating Event Listening and Handling Methods244
11.7Customizing Generated Code247
11.8Building an Explorer View Visually 249
11.9Previewing a Form250
11.10Using Custom Beans in the Form Editor250
11.11Using Different Layout Managers251

Chapter 12: Multiview Editors253

12.1Introduction253
12.2Getting Started255
12.3Understanding Multiview Editors256
12.4Creating the Editors Infrastructure257
12.5Creating the Source View261
12.6Creating the Visual View269
12.7Finishing the Sample271

Chapter 13: Syntax Highlighting273

13.1Introduction273
13.2Preparing to Create Syntax Highlighting274
13.3Creating Token IDs275
13.4Creating a Lexical Analyzer277
13.5Extending the Options Window281
13.6Registering the Syntax Highlighting in the Layer File284
13.7Finishing Up286

Chapter 14: Code Completion287

14.1Introduction287
14.2Understanding Code Completion289
14.3Code Completion Query Types291
14.4Preparing to Work with the CompletionProvider Interface291
14.5Implementing a CompletionProvider293
14.6Implementing a CompletionItem296
14.7Adding a Filter to the CompletionProvider300
14.8Adding Documentation to the Code Completion Box304
14.9Adding a Tooltip to the Code Completion Box305

Chapter 15: Component Palettes307

15.1Introduction307
15.2Adding Items to a Palette313
15.3Dragging and Dropping Palette Items323
15.4Adding Supporting Features to a Palette331
15.5Creating a Palette for a Text-Based Editor344

Chapter 16: Hyperlinks355

16.1Introduction355
16.2Preparing to Work with the HyperlinkProvider Class357
16.3Hyperlinks in Manifest Files359

Chapter 17: Annotations367

17.1Introduction367
17.2Preparing to Create an Error Annotation368
17.3Creating an Error Annotation368
17.4Preparing to Use an Error Annotation376
17.5Using an Error Annotation377
17.6Finishing Up383

Chapter 18: Options Windows385

18.1Introduction385
18.2Looking at the Options Window Extension Files389
18.3Creating a Primary Panel393
18.4Adding Settings to the Options Window396

Chapter 19: Web Frameworks399

19.1Introduction399
19.2Preparing to Work with the WebFrameworkProvider Class404
19.3Providing a Framework Configuration Panel406
19.4Creating a Source Structure413
19.5Letting the User Select a Library in the Frameworks Panel423
19.6Project Properties Dialog Box and Web Frameworks424
19.7Finishing Up427

Chapter 20: Web Services429

20.1Introduction429
20.2Creating and Testing a Web Service Client430
20.3Integrating the Web Service Client435

Chapter 21: JavaHelp Documentation441

21.1Creating a Help Set442
21.2Removing the IDE's Help Sets446
21.3Branding the Help Set's Default Texts449

Chapter 22Update Centers453

22.1Introduction453
22.2Adding the IDE's Update Center Functionality454
22.3Creating and Distributing an Autoupdate Descriptor456
22.4Distributing the URL to the Autoupdate Descriptor458
22.5Downloading NBM Files from an Update Center461
22.6Publishing Updates to Existing Modules462

Chapter 23: Use Case 1: NetBeans Module Development463

23.1Introduction463
23.2Calling the External Tool465
23.3Handling the Output476
23.4Configuring the Tool491
23.5Formatting and Converting Files496
23.6Controlling the Conversion505

Chapter 24: Use Case 2: Rich Unger on Application Development521

24.1Introduction521
24.2Getting Started522
24.3Creating Support for the audio/wav MIME Type526
24.4Encapsulating Audio Data in the WavDataObject530
24.5Creating a Component for Viewing WAV Files533
24.6Converting WAV Editor to Multiview535
24.7Creating an API for Plugging in Additional Views542
24.8Implementing Your Own API to Provide a New View544

Chapter A: Advanced Module System Techniques551

A.1Hiding Implementation Details551
A.2Design for Extensibility553
A.3Splitting API and Implementation555
A.4Do I Really Need Cyclic Dependency?559
A.5Crossing the Informational Divide563
A.6Restricting Access to Friends565
A.7Having Public as Well as Friend API566
A.8A Final Word on Modularity568

Chapter B: Common Idioms and Code Patterns in NetBeans569

B.1Things You Do Differently in NetBeans Than in Plain Swing Code569
B.2Things That Represent Files571
B.3Working with Lookup573
B.4Projects573

Chapter C: Performance575

C.1Responsiveness versus Performance577
C.2Performance Tips for Module Authors578
C.3Writing Modules That Are Good Citizens579

Index583

Additional information

GOR006212716
9780132354806
0132354802
Rich Client Programming: Plugging into the NetBeans Platform by Tim Boudreau
Used - Good
Hardback
Pearson Education (US)
2007-05-09
640
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Rich Client Programming