1. Introduction 1.1 What is a rich client? 1.2 What is a rich client platform? 1.3 Advantages of a rich client platform. 1.4 Characteristics of the NetBeans Platform 2. Structure of the NetBeans Platform 2.1 NetBeans Platform Architecture 2.2 NetBeans Platform Distribution 2.3 NetBeans Runtime Container 2.4 NetBeans Classloader System 3. The Module System 3.1 Overview 3.2 Structure of a Module 3.3 Module Configuration and Integration 3.4 Creating a Module 3.5 Versioning and Dependencies 3.6 Lifecycle Management 3.7 Module Registry 3.8 Using 3rd Party Libraries 4. Actions 4.1 Overview 4.2 Creating Action Classes 4.3 Registering Action Classes 4.4 Shortcuts and Mnemonics 5. User Interface 5.1 Overview 5.2 Menubar 5.3 Toolbar 5.4 Window System 5.5 Statusbar 5.6 Progress Bar 6. Lookup 6.1 Functionality 6.2 Services and Extension Points 6.3 Global Services 6.4 Registering Service Providers 6.5 Intermodular Communication 6.6 Java ServiceLoaders 7. File Access and Visualization 7.1 Overview 7.2 File System API 7.3 Data Systems API 7.4 Nodes API 7.5 Explorer & Property Sheet API 8. Graphical Components 8.1 Dialogs 8.2 Multiviews 8.3 Visual Library 9. Standard Components 9.1 Help System 9.2 Output Window 9.3 Navigator 9.4 Properties window 9.5 Options window 9.6 Palette 10. Internationalization 10.1 Text Constants and Source Texts 10.2 Text Constants in the Manifest Files 10.3 Internationalizing Help Systems 10.4 Internationalizing Other Resources 10.5 Distributing Localized Resources 11. Application Development 11.1 Creation 11.2 Configuration & Customization 11.3 Distribution 12. Update Facilities 12.1 The AutoUpdate Service 12.2 The NBM Package 12.3 Update Centers 12.4 Language Distributions 12.5 Configuration and Installation 13. Persistence 13.1 Java DB 13.2 Hibernate 13.3 Java Persistence API 14. Web Services 14.1 Creating a Web Service 14.2 Using a Web Service 15. Extending NetBeans IDE 15.1 Palette 15.2 Task List API 16. From Eclipse to NetBeans 16.1 NetBeans IDE 16.2 From Eclipse Plugin to NetBeans Module 17. Tips & Tricks 17.1 Asynchronous Initialization of Graphical Components 17.2 Undo/Redo 17.3 Ending an Application's Lifecycle 17.4 Warm-Up Tasks 17.5 System Tray 17.6 Desktop 17.7 Logging 18. Example Project: MP3 Manager 18.1 Design 18.2 Creating a Module Suite 18.3 MP3 Support 18.4 ID3 Support 18.5 Media Library 18.6 Services 18.7 MP3 Player 18.8 Playlist Appendix A1: The Most Important Extension Points A2: The Most Important Configuration DTDs