NetBeans: The Definitive Guide
By
Tim Boudreau,
Jesse Glick,
Simeon Greene,
Vaughn Spurlin,
Jack J. Woehr
October 2002
Pages: 672
| Table of Contents
| Index
| Sample Chapter
| Colophon
Table of Contents
-
Chapter 1 Getting and Installing the IDE
-
Platforms and Requirements
-
Getting and Installing a JDK
-
Which IDE Distribution?
-
Installing Binary Distributions
-
Building the IDE from Source (Simple Builds)
-
Running the IDE
-
Updating the IDE Automatically
-
You're Now Running NetBeans
-
Chapter 2 Concepts and Paradigms
-
NetBeans and the Java Abstract Model of Computing
-
Explorer
-
Creating Packages and Classes
-
Services
-
Workspaces
-
Project Management
-
Object Browser
-
Summary
-
Chapter 3 Working with the Source Editor
-
Why Learn a New Editor?
-
Opening the Source Editor
-
Context Menus
-
Closing the Source Editor
-
Code Completion
-
Editor Colorings
-
Shortcuts
-
Word Matching
-
Indentation Engines and Code Formatting
-
Automatic Edits
-
Other Editor Functionality
-
A Simple Example
-
Chapter 4 Debugging
-
Debugger Types
-
Breakpoint Types
-
Adding and Removing Breakpoints
-
Setting Watches
-
Starting the Debugger
-
The Debugger Window
-
The Variables View
-
Remote Debugging in NetBeans
-
Chapter 5 Compilation and Execution Services
-
Using Custom Compilation and Execution Services
-
Associating Services with Java Files
-
Building with Ant
-
Chapter 6 Customizing the Environment
-
The Setup Wizard
-
The Tools→Options Dialog
-
Configuring Toolbars
-
Configuring Menus
-
Configuring Editors
-
Command Line Options
-
Modules
-
Chapter 7 Using Source Control (CVS)
-
What Is CVS?
-
The How, When, and Why of CVS in NetBeans
-
Mounting CVS Sources
-
Exploring Versioned Sources
-
Common CVS Operations
-
Unexpected Results
-
Uncommon CVS Operations
-
Mounting a Generic Versioning System
-
One Final Tip
-
Chapter 8 GUI Building
-
Creating a GUI Frame or Panel
-
Adding Components to a GUI Container
-
Configuring Components
-
Building Menus
-
Changing a Container's Layout
-
Working with Borders
-
Accessibility
-
Copying a Source Object
-
The Connection Wizard
-
The GridBagLayout Customizer
-
Adding Event Handlers
-
Using the Code Generation Properties
-
Working Around Code Generation
-
Containers Within Containers
-
Building Complex GUIs
-
Chapter 9 JavaBeans
-
Why Should I Make Beans?
-
Creating JavaBeans
-
Component Palette
-
Chapter 10 Using Javadoc
-
Javadoc Support in NetBeans
-
Mounting Javadocs
-
The Javadoc Search Tool
-
Creating Javadoc
-
Chapter 11 Working with XML
-
Installing XML Support
-
Overview
-
XML Editors
-
Beyond Editing XML
-
Generating Java Classes
-
Chapter 12 Developing Web Applications
-
Why the IDE Supports Web Application Development
-
How the IDE Provides Web Application Support
-
Creating a Web Application
-
Working with JSP and HTML Files
-
Advanced Web Applications Features
-
Packaging and Deploying Web Applications
-
Chapter 13 Extending NetBeans
-
What's Different About NetBeans?
-
The Core and the Open APIs
-
NetBeans for Bean Counters
-
Getting and Installing the Open APIs Support Module
-
Life Is Change
-
Source Code for the Examples
-
Chapter 14 Understanding the NetBeans APIs
-
Design Philosophy of NetBeans
-
User-Level Customization
-
Modules—Overview
-
Interacting with the IDE
-
Chapter 15 The Open APIs
-
APIs versus Core versus Modules
-
Service Provider Interfaces and Client APIs
-
Overview of the APIs and Their Purposes
-
Modules, JARs, and Class Loaders
-
Threading, Deadlocks, andHow to Avoid Them
-
Chapter 16 Developing Modules—the New Module Wizard
-
The HelloWorld Module
-
Chapter 17 Internals of the Running IDE
-
The Activated Node(s)
-
Cookies
-
A Peek under the Hood
-
Touring NetBeans with the Bean Browser
-
Data Objects, Nodes, and Cookies
-
Filesystems and the Repository
-
Services
-
Lookup
-
Options
-
UI Components
-
Localization
-
Wizards
-
Jumping-off Places
-
Special Folders in the System Filesystem
-
Chapter 18 Creating the QuickPanel Module
-
Abstractions Covered in This Chapter
-
Creating the Project Files Drop-Down
-
FilterNode—Filtering Which Children of a Node Are Displayed
-
Creating the Methods Drop-Down
-
Improving the Methods Drop-Down
-
Creating the Module
-
A Little Homework
-
Chapter 19 A Mail-Based Filesystem
-
Building a Mail Reader in the NetBeans Paradigm
-
Implementing MailFileSystem Using AbstractFileSystem and JavaMail
-
Creating Folder Objects for Attachments
-
Using FileSystem.Status Annotations to Mark Unread Messages
-
BeanInfo—Displaying Filesystem Properties
-
Using the Wizard Framework to Set Up Mail Accounts
-
Chapter 20 Creating the User Interfacefor the Mail Client
-
Creating a DataLoader for Messages
-
Creating a Threaded Mail View Using Filter Nodes
-
Creating a Mail Workspace
-
Chapter 21 Score File Support
-
Overview—Functionality to be Implemented
-
Creating the Minicomposer Module
-
Creating a UniFileLoader and MultiDataObject for *.score Files
-
Creating an Editor Support for Scores
-
Creating a Fixed ExecCookie to Play Scores
-
Creating a Simple Template
-
Chapter 22 Creating a Structural View of the Score
-
Creating a ScoreCookie to Represent a Sequence of Notes
-
Creating a ScoreSupport
-
Lifecycle of the Score
-
An OpenSupport
-
Indicating Parse Errors on the Node
-
Chapter 23 Compiling Scores
-
Creating the Compilers
-
Creating and Using the Compiler Cookie
-
Displaying an Out-of-Date Badge on Score Icons
-
Chapter 24 Executing Scores
-
Creating the .au Player Executor
-
Creating Player Configuration Support
-
Creating a SystemOption for the Default Executor
-
Chapter 25 Better Score Support in the Explorer
-
The Clip Length Property
-
Representing Notes as Subnodes Using Children.Keys
-
Permitting Subnodes to Be Renamed or Deleted
-
Permitting Subnodes to Be Added
-
Making Read/Write Properties on Subnodes
-
Reordering Subnodes
-
Data Transfer—Cut, Copy, and Paste of Notes and Sequences
-
Chapter 26 Tuning Modules for Performance & Memory Footprint
-
Startup Performance vs. Runtime Performance
-
Operating Principles
-
Techniques
-
Chapter 27 Producing Modules (Packaging & Distribution)
-
Versioning
-
Upgrading User Settings
-
Bundling Extension Libraries
-
Internationalization and Accessibility
-
JavaHelp—Writing and Distributing
-
Supporting User-Level Java APIs
-
Creating the Module JAR File Within the IDE
-
Creating a Build Script Using Ant
-
Producing the .nbm File
-
Publishing Using the Update Center
-
Using ErrorManager to Log Problems
-
Testing
-
Chapter 28 Building Your Distribution of NetBeans
-
Do You Need Your Own Distribution?
-
Licensing
-
Selecting a Baseline
-
Getting the Sources
-
Customizing the Build Process
-
Adding Modules to a "Stock" Distribution
-
Creating Preconfigured Settings
-
Branding
-
Appendix A A Tour of Existing Modules
-
Modules That Expose Functionality You Might Need
-
Incidental APIs, Utilities, and Extensions
-
Modules That Make Good Examples for Things You May Need to Implement
-
Appendix B Useful Utility Classes
-
XML Utilities
-
Visual Components and Extensions to Standard Swing Components
-
Lookup Implementations
-
Threading
-
Miscellaneous Utility Classes inorg.openide.util
-
Serialization Helpers
-
Appendix C Resources
-
CVSHome
-
Java Environments
-
Java Tools
-
Secure Shell (SSH) Resources
-
Cygwin for Windows
-
Newsgroups and Mailing Lists
-
Web Sites
-
NetBeans Open Source Projects with Design Forms in the Distribution
-
Java-Oriented IDEs Other Than NetBeans
-
Appendix D Future Plans
-
Declarative Instantiation
-
Uniform Lookup
-
Datasystems II
-
The Looks API
-
Declarative Actions
-
Deprecation of IDE-Specific Functionality in the Open APIs
-
The Metadata Repository
-
Project Support
-
Appendix E Working with Open Source and NetBeans
-
Practices
-
Resources
-
Interacting Effectively on Mailing Lists
-
Appendix F Additional Modules and Where to Find Them
-
Open Source Modules Available Via the Update Center
-
The Modules Marketplace on Flashline
-
IDEs That Are Distributions of the NetBeans IDE
-
Open Source Application Projects Based on NetBeans
-
Commercial Applications Built on the NetBeans Platform
-
Commercial Modules Available for NetBeans
-
Should You Create Your Own Update Server?
-
Colophon
Return to NetBeans: The Definitive Guide