دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: کامپیوتر ویرایش: 1 نویسندگان: Tim Boudreau, Jesse Glick, Simeon Greene, Jack Woehr, Vaughn Spurlin سری: ISBN (شابک) : 9780596002800, 0596002807 ناشر: O'Reilly Media سال نشر: 2002 تعداد صفحات: 566 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 6 مگابایت
در صورت تبدیل فایل کتاب NetBeans: The Definitive Guide به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب NetBeans: راهنمای قطعی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
NetBeans - The Definitive Guide.pdf......Page 0
Table of Content......Page 2
Is This Book for You?......Page 8
What Is JavaBeans??......Page 9
The Core Concept of NetBeans......Page 10
All the Usual Features......Page 11
NetBeans as an Open Source Community......Page 12
Don\'t Be Cross that This Book Is Cross-Platform......Page 13
Comments and Questions......Page 14
Simeon Greene......Page 15
Jesse Glick......Page 16
Tim Boudreau......Page 17
Table 1-1. NetBeans minimum requirements on several popular platforms......Page 18
1.2.2 Relationship of JDK to JRE......Page 19
1.3 Which IDE Distribution?......Page 20
Table 1-2. Summary of trade-offs between NetBeans releases......Page 21
1.5.1 What You\'ll Need to Build the IDE......Page 22
1.5.2 Setting Up and Performing the Build......Page 23
1.5.4 How Do I Install a Newly Built Version of NetBeans?......Page 24
1.6.1 Minimal Environment......Page 25
1.6.2 How to Launch NetBeans......Page 26
1.6.3 Multiple NetBeans Users......Page 27
1.6.4.2 X Window System issues......Page 28
1.6.4.3.3 SDI vs. MDI......Page 29
Figure 1-3. NetBeans MDI interface......Page 30
Figure 1-4. Configuring the Update Center using Update Center Wizard......Page 31
1.8 You\'re Now Running NetBeans......Page 32
2.1 NetBeans and the Java Abstract Model of Computing......Page 33
2.2.2 Data Objects, Nodes, Actions, and Properties......Page 34
Figure 2-2. NetBeans Explorer opening a property editor on the properties of a method......Page 35
2.2.2.1 What has NetBeans Explorer got to hide?......Page 37
Figure 2-4. NetBeans Source Editor shades protected regions as a visual representation of the autogenerated code......Page 38
Example 2-1. A NetBeans form file......Page 39
2.2.3 Tabs in the Explorer......Page 40
Figure 2-6. Illustration of NetBeans Explorer hierarchal expanding/collapsing list view......Page 41
Figure 2-7. NetBeans Explorer Filesystems view of a big project......Page 42
Figure 2-9. Illustration of NetBeans Explorer Javadoc view......Page 43
2.2.4 Node Paradigms......Page 44
Figure 2-13. Explorer view of a class object expanded three levels......Page 45
2.2.5 Sometimes Explorer Gets Behind the Times......Page 46
2.2.6.2 How CLASSPATH is handled in the IDE......Page 47
Figure 2-14. Editing filesystem capabilities......Page 48
Figure 2-15. Using the Customizer Dialog to change NetBeans Explorer Filesystem mount order and thus the CLASSPATH for a project......Page 49
2.3.1 Creating Packages......Page 50
Figure 2-16. You can choose a template from many categories......Page 51
2.3.2.1.2 Creating templates......Page 52
2.4.1.1 Compiling your code......Page 53
2.4.2 Execution Services......Page 54
2.5 Workspaces......Page 55
2.5.2 GUI Editing......Page 56
2.6 Project Management......Page 57
2.6.2 Managing Project Builds Using Ant......Page 58
2.7 Object Browser......Page 59
Figure 2-21. The Object Browser open on a project......Page 60
2.8 Summary......Page 62
3.2 Opening the Source Editor......Page 63
3.5 Code Completion......Page 64
3.5.1.2 Avoiding code completion......Page 65
Figure 3-3. Asking NetBeans to update the parser database for a package......Page 66
3.5.3 Abbreviations......Page 67
3.6 Editor Colorings......Page 68
3.9 Indentation Engines and Code Formatting......Page 69
Figure 3-7. Invoking a wizard dialog to add a new method to a class......Page 70
Figure 3-8. Adding a file type to XML editing......Page 71
3.12 A Simple Example......Page 72
Figure 3-9. Commencing to edit our simple example......Page 73
Figure 3-10. Running our simple example......Page 74
Figure 4-1. Debugger types......Page 75
Table 4-2. Runtime events that can be used to trigger a breakpoint define the following breakpoint types......Page 76
Example 4-1. Multithreaded example for debugging......Page 77
Figure 4-2. Setting breakpoints......Page 78
Figure 4-3. Add breakpoint dialog......Page 79
Figure 4-5. Starting the debugger......Page 80
Table 4-3. Debug menu options......Page 81
Figure 4-6. Debugger window......Page 82
4.7 The Variables View......Page 83
4.8.1 Debugging Remotely......Page 84
Figure 4-9. The Debugger window......Page 85
4.8.3 Advanced Features......Page 86
Figure 5-1. The Internal Compiler Service......Page 87
5.1.2 Creating and Customizing External Compilation Services......Page 88
Figure 5-2. JDK 1.1 External Compilation Service......Page 89
Table 5-4. Expert configuration properties for the External Compilation Service......Page 90
5.1.2.1.2 Configuring the external process......Page 91
Figure 5-5. The JDK External Compiler with the nowarn argument......Page 92
Table 5-6. Expert configuration properties for the External Execution Service......Page 93
5.3.1 Creating a Build Script......Page 94
Figure 5-8. Ant Help page......Page 95
Table 5-7. Properties for Ant settings......Page 96
5.3.4 Why Use Ant?......Page 97
6.1.1 General NetBeans Settings......Page 99
Figure 6-2. An editor window with a filesystem explorer docked on the left......Page 100
Figure 6-4. The third pane of the Setup Wizard......Page 101
Figure 6-5. The Show Levels Button......Page 102
Figure 6-7. Toolbar options......Page 103
6.4 Configuring Menus......Page 104
6.5 Configuring Editors......Page 105
6.5.2.1 Global Key Bindings (shortcut keys)......Page 106
6.5.2.2 Fonts and colors......Page 107
Figure 6-12. Color editor......Page 108
6.5.2.3 Macros......Page 109
Figure 6-14. Recording a macro......Page 110
6.6 Command Line Options......Page 111
Figure 6-17. IDE options......Page 112
6.7 Modules......Page 113
Figure 6-19. Installing modules via the Web......Page 114
Figure 6-20. Installing modules manually......Page 115
6.7.2 Enabling and Disabling Modules......Page 116
Table 7-1. Summary of how CVS extends RCS......Page 117
7.2.3 NetBeans and CVS......Page 119
7.2.6 CVS and NetBeans Projects......Page 120
7.3 Mounting CVS Sources......Page 121
7.5 Common CVS Operations......Page 122
7.5.2 Checkin and Commit......Page 123
Figure 7-3. Browsing the CVS log of a source tree......Page 124
7.5.6 Update......Page 125
7.6.3 Adding Binary Files......Page 126
7.8 Mounting a Generic Versioning System......Page 127
Figure 7-7. Advanced options for the CVS Versioning window......Page 128
7.9 One Final Tip......Page 129
Figure 8-1. Creating the GuiDemoBasic package......Page 131
Figure 8-2. Creating the AddStrings JFrame......Page 132
Figure 8-3. The NetBeans Form Editor......Page 133
8.3 Configuring Components......Page 134
8.4 Building Menus......Page 135
8.6 Working with Borders......Page 136
8.7 Accessibility......Page 137
Figure 8-7. The Connection Mode button......Page 138
8.10 The GridBagLayout Customizer......Page 139
Figure 8-10. GridBagLayout Customizer Dialog......Page 140
Table 8-4. Customizer properties......Page 141
8.11 Adding Event Handlers......Page 142
Figure 8-12. Selecting an event handler......Page 143
8.12 Using the Code Generation Properties......Page 144
Figure 8-14. Adding post-creation code......Page 145
8.13 Working Around Code Generation......Page 146
8.14 Containers Within Containers......Page 147
8.15 Building Complex GUIs......Page 148
9.2.1 Creating a GUI Component......Page 150
Figure 9-1. Copying AddStrings components......Page 151
9.2.2 Converting a GUI Component into a Bean......Page 152
Example 9-2. Code needed in getter and setter methods for AddStrings Bean......Page 153
Example 9-3. Event handler methods in AddStrings Bean......Page 154
Table 9-3. Setting wizard properties for event listeners......Page 155
Example 9-4. Code needed for events in AddStrings Bean......Page 156
Example 9-6. propertyChange Method in ASTest3......Page 157
Figure 9-3. The BeanInfo Editor dialog box......Page 158
Figure 9-4. The AddStrings Bean icon......Page 159
9.3.2 Adding a Bean to the Component Palette......Page 160
9.3.3 Component Palette Problems......Page 161
Figure 10-1. The Javadoc repository......Page 163
Figure 10-2. The Javadoc Search Tool......Page 164
Table 10-1. Javadoc Search Tool buttons......Page 165
10.4 Creating Javadoc......Page 166
Figure 10-5. The Javadoc Auto-Commenting Tool......Page 167
10.4.1.2 Viewing, editing, and correcting Javadoc comments......Page 168
10.4.2.1 Javadoc Search Types......Page 169
Table 10-3. External Javadoc Executor......Page 170
10.4.2.3.2 Adding links......Page 171
Table 10-5. Additional doclet properties......Page 172
11.2.1 Templates......Page 174
11.3 XML Editors......Page 175
Figure 11-2. The XML tree editor and text editor......Page 176
11.4.1 Checking and Validating XML......Page 177
11.4.2 Setting the Node View......Page 178
Figure 11-5. DTD separated from an XML document......Page 179
Example 11-3. HTML documentation for Inventory.xml......Page 180
11.4.5 Generating CSS......Page 181
11.5.1 Generating a SAX Document Handler......Page 182
Example 11-7. startElement method for Inventory_InventoryHandlerImpl......Page 183
Example 11-9. main method for Inventory_InventoryScanner......Page 184
Table 11-2. Printing attribute values in Inventory_InventoryScanner......Page 185
Example 11-10. visitElement_Part method with all changes applied......Page 186
Example 11-13. Output from Inventory_InventoryScanner......Page 188
Table 12-1. Features added by the JSP/Servlet module......Page 190
Figure 12-1. A web application directory structure in Filesystems view......Page 191
Figure 12-2. The Web Project view......Page 192
Table 12-2. Templates for creating web application files......Page 193
Example 12-1. Source listing for index.jsp......Page 194
12.5.1 Executing Web Applications......Page 195
12.5.2.3 Executing servlets......Page 196
12.6.2 Configuring Tomcat......Page 197
Figure 12-7. Configuring the Tomcat server......Page 198
13.1 What\'s Different About NetBeans?......Page 199
13.2 The Core and the Open APIs......Page 200
13.2.1 The License......Page 201
13.2.3 The netbeans.org Web Site......Page 202
13.2.3.4 The netbeans.org FAQs and mailing lists......Page 203
13.4 Getting and Installing the Open APIs Support Module......Page 205
13.6 Source Code for the Examples......Page 206
14.1.1 Abstracting the Abstractions—the Open APIs......Page 207
14.1.3 Hierarchy, Files, and Nodes......Page 208
14.1.4 Everything Is a File—Virtually......Page 209
Example 14-1. Adding a .instance to the System Filesystem......Page 210
Figure 14-2. Module adding XML layer to the system filesystem......Page 211
14.1.8 Layers in the System Filesystem......Page 212
Figure 14-4. The system filesystem viewed from the Explorer window......Page 213
14.1.10 Data Objects—Wrappers for Persistent Data......Page 214
14.1.12 Nodes—the Application as Hierarchy......Page 215
14.1.13 Presenting Nodes to the User—Explorer......Page 216
14.2 User-Level Customization......Page 217
Figure 14-6. The menu configuration folders in the Options window......Page 218
14.2.1.1 Adding to the Component Palette using Paste Link......Page 219
14.2.1.3 Pasting a compiled class to a menu and executing it from there......Page 220
14.3 Modules—Overview......Page 221
14.3.1 How Modules Add Functionality......Page 222
14.3.3 What Modules Can Do......Page 223
14.3.5 An Illustration—NetBeans with No Modules......Page 224
14.4.2 Setting the Current Workspace......Page 225
15.1 APIs versus Core versus Modules......Page 228
15.3 Overview of the APIs and Their Purposes......Page 230
15.3.1.1 Module manifests......Page 231
Example 15-1. Sample module manifest—the Debugger......Page 232
15.3.1.2 XML layers......Page 233
Figure 15-2. Mapping from files to InstanceDataObjects to lookup......Page 234
Example 15-4. Factory method to instantiate a class from a .instance file......Page 235
Example 15-7. Simple factory method for an XML layer instance......Page 236
Example 15-10. Ordering attributes in XML layers......Page 237
15.3.2.1 Lookup, .settings files, the system filesystem, and layers......Page 238
15.3.2.2 Commonly used or interesting classes in this package......Page 239
15.3.3 Nodes......Page 240
Figure 15-3. Anatomy of a node......Page 241
15.3.3.1 Commonly used or interesting classes in this package......Page 242
15.3.4 Datasystems......Page 243
15.3.5 Explorer......Page 244
Figure 15-5. Explorer views—ChoiceView......Page 245
Figure 15-9. A \"Pseudo-Windows Explorer\" mock-up created using IconView and ContextTreeView......Page 246
15.3.6 Actions......Page 247
15.3.7 Options......Page 248
15.3.8 Compiler......Page 249
15.3.9 Editor......Page 250
15.3.10 Windowing System......Page 251
Figure 15-11. Modes, TopComponents, and Nodes—ana......Page 252
15.3.11 Cookies......Page 253
15.3.12 Execution......Page 254
15.3.13 Java Hierarchy......Page 255
15.3.14 Filesystems......Page 256
Figure 15-12. NetBeans class loaders (with three modules installed)......Page 258
15.5 Threading, Deadlocks, andHow to Avoid Them......Page 261
16.1.1 Creating a Module Using the New Module Wizard......Page 264
Example 16-1. MyAction.java for the Hello World module......Page 265
Example 16-3. mf-layer.xml for Hello World module......Page 266
Example 16-4. Manifest for Hello World module......Page 267
17.2 Cookies......Page 268
17.3 A Peek under the Hood......Page 269
Figure 17-1. Bean Browser—master view......Page 270
17.5 Data Objects, Nodes, and Cookies......Page 271
Figure 17-2. Bean Browser showing list of registered ServiceTypes......Page 273
17.8 Lookup......Page 274
Example 17-1. Locating a SystemOption......Page 275
17.10.1 TopComponents, Modes, and Workspaces......Page 276
17.10.1.1 Browsing the window system in the system filesystem......Page 277
17.10.1.2 XML format for workspaces, modes, and components......Page 278
Table 17-1. XML files controlling the window system in the system filesystem......Page 279
17.10.2 Actions......Page 281
17.10.4 Custom Property Editors......Page 282
17.12 Wizards......Page 283
17.13 Jumping-off Places......Page 284
17.14 Special Folders in the System Filesystem......Page 285
18.1 Abstractions Covered in This Chapter......Page 288
18.2 Creating the Project Files Drop-Down......Page 289
Example 18-1. QuickPanel: FileSelector.java......Page 290
18.3 FilterNode—Filtering Which Children of a Nod......Page 293
Example 18-2. QuickPanel: FilesOnlyChildren.java......Page 294
18.4 Creating the Methods Drop-Down......Page 295
Example 18-3. QuickPanel: MethodSelector.java -- creating a listener to monitor the active TopComponent......Page 296
18.5 Improving the Methods Drop-Down......Page 297
Example 18-4. QuickPanel: MethodSelector.java—ful......Page 298
Example 18-5. QuickPanel: QuickPanel.java......Page 301
Example 18-7. QuickPanel: layer.xml—creating the......Page 302
Example 18-8. QuickPanel: MANIFEST.MF—the QuickPa......Page 303
18.7 A Little Homework......Page 304
19.2 Implementing MailFileSystem Using AbstractFileSystem and JavaMail......Page 305
19.2.2 Mail Filesystem: AbstractFileSystem.Info......Page 306
Example 19-1. InfoImpl implementation inside MailFileSystem.java......Page 307
Example 19-2. ListImpl implementation inside MailFileSystem.java......Page 308
Example 19-3. ChangeImpl implementation inside MailFileSystem.java......Page 309
Example 19-5. Mail filesystem: MailFileSystem implementation as a whole......Page 310
19.3 Creating Folder Objects for Attachments......Page 314
19.4 Using FileSystem.Status Annotations to Mark Unread Messages......Page 315
Example 19-6. Mail filesystem: MailFileSystem.java added inner class to support status......Page 316
Example 19-7. Mail filesystem: MailFileSystemBeanInfo.java......Page 317
19.6 Using the Wizard Framework to Set Up Mail Accounts......Page 318
19.6.1 Creating Wizard Classes......Page 319
Figure 19-2. Mail filesystem: SelectServerPanel......Page 320
Example 19-9. Mail filesystem: SelectRootFolderPanel.java (panel implementation)......Page 321
Example 19-10. Mail filesystem: SelectRootFolderPanel.java (MailFolderNode inner class)......Page 322
Example 19-11. Mail filesystem: ConnectionWizardIterator.java......Page 324
Example 19-13. Mail filesystem: initial module JAR manifest......Page 326
Figure 19-4. Mail filesystem: IMAP Mail Server template......Page 327
Example 20-1. Mail filesystem: module JAR manifest including data loaders......Page 328
Example 20-2. Mail filesystem: MailDataLoader.java......Page 329
Example 20-4. Mail filesystem: MessageBodyEditorSupport.java......Page 330
Example 20-5. Mail filesystem: MailDataNode.java......Page 331
Figure 20-1. Mail filesystem: property sheet of a message......Page 332
Example 20-6. Mail filesystem: MultipartMessageDataLoader.java......Page 333
Figure 20-2. Mail filesystem: raw Filesystems view of a mail server......Page 334
Example 20-9. Mail filesystem: MessageFileSystemsNode.java......Page 335
Example 20-10. Mail filesystem: MessageFileSystemsChildren.java......Page 336
Example 20-11. Mail filesystem: GeneralFolderHierarchyChildren.java......Page 337
Example 20-12. Mail filesystem: Initial MessageFolderHierarchyChildren.java......Page 338
Example 20-13. Mail filesystem: MessageNode.java......Page 339
Example 20-14. Mail filesystem: Module JAR Manifest with Node Registration......Page 340
Example 20-15. Mail filesystem: ViewTypeOption.java......Page 341
Example 20-17. Mail filesystem: MessageFolderHier......Page 342
Example 20-19. Mail filesystem: ThreadChildren.java......Page 344
Figure 20-4. Mail filesystem: relationships among nodes and objects......Page 345
Figure 20-5. Mail filesystem: threaded view......Page 346
Example 20-20. Mail filesystem: MessagesExplorer.java......Page 347
Example 20-21. Mail filesystem: mail.xml......Page 349
Example 20-23. Mail filesystem: messages.xml......Page 350
Figure 20-6. Mail filesystem: mail workspace......Page 351
Example 21-1. Minicomposer: initial minicomposer.mf......Page 352
Example 21-4. Minicomposer: build.xml......Page 353
21.3 Creating a UniFileLoader and MultiDataObject for *.score Files......Page 354
Example 21-5. Minicomposer: initial src/org/netbeans/examples/modules/minicomposer/mime-resolver.xml......Page 355
Example 21-6. Minicomposer: initial src/org/netbeans/examples/modules/minicomposer/ScoreDataLoader.java......Page 356
Example 21-7. Minicomposer: initial src/org/netbeans/examples/modules/minicomposer/ScoreEditorSupport.java......Page 357
Example 21-8. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreDataObject.java with editor support......Page 359
Example 21-9. Minicomposer: public signature of src/org/netbeans/examples/modules/minicomposer/Score.java......Page 360
Example 21-10. Minicomposer: public signature of src/org/netbeans/examples/modules/minicomposer/LineInFromScore.java......Page 361
Example 21-11. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreExec.java......Page 362
21.6 Creating a Simple Template......Page 363
Figure 21-2. Minicomposer: using the Musical Score template......Page 364
Example 22-1. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreCookie.java......Page 366
Example 22-3. Synopsis of selected methods in SourceElement......Page 367
22.2.2 Implementation of ScoreSupport......Page 368
Example 22-4. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreSupport.java (Text Structure)......Page 369
Figure 22-1. UML of the ScoreSupport lifecycle......Page 373
22.4.1 Creating an OpenCookie Implementation......Page 374
Example 22-5. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreOpenSupport.java......Page 375
Example 22-6. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScorePanel.java (Creation and Persistence)......Page 376
Figure 22-2. Minicomposer: two-way editing of score files......Page 380
Example 22-7. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreDataNode.java with Parse Support......Page 381
Example 23-1. Minicomposer: src/org/netbeans/examples/modules/minicomposer/SampledAudioCompiler.java......Page 385
Example 23-2. Minicomposer: src/org/netbeans/examples/modules/minicomposer/SampledAudioCompilerGroup.java......Page 387
Example 23-3. Minicomposer: src/org/netbeans/examples/modules/minicomposer/SampledAudioCleaner.java......Page 388
Example 23-4. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreCompilerSupport.java......Page 390
Example 23-5. Minicomposer: mime-resolver.xml with compiler support......Page 393
23.3 Displaying an Out-of-Date Badge on Score Icons......Page 394
Example 24-1. Minicomposer: src/org/netbeans/examples/modules/minicomposer/InternalPlayer.java......Page 397
Example 24-2. Minicomposer: src/org/netbeans/examples/modules/minicomposer/InternalPlayerBeanInfo.java......Page 400
Example 24-3. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ExternalPlayer.java......Page 401
Example 24-4. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ExternalPlayerBeanInfo.java......Page 402
24.1.3 Registering the Players as Services......Page 404
Example 24-6. Minicomposer: src/org/netbeans/examples/modules/minicomposer/external-player.xml......Page 405
Figure 24-1. Minicomposer: audio players in Options window......Page 406
Example 24-7. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreExecSupport.java......Page 407
Figure 24-2. Minicomposer: choosing to use an external audio player......Page 408
Figure 24-4. Minicomposer: selecting the audio player process......Page 409
Example 24-8. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ComposerSettings.java......Page 410
Example 24-9. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ComposerSettingsBeanInfo.java......Page 412
Example 24-10. Minicomposer: src/org/netbeans/examples/modules/minicomposer/option.xml......Page 414
Figure 24-5. Minicomposer: settings displayed in Options window......Page 415
Example 25-1. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ClipLengthProperty.java......Page 416
25.1.1 Clearing the Cache and Firing Changes......Page 418
25.2 Representing Notes as Subnodes Using Children.Keys......Page 419
Example 25-2. Minicomposer: src/org/netbeans/examples/modules/minicomposer/ScoreChildren.java......Page 420
Figure 25-1. Minicomposer: parent and child nodes with keys......Page 421
25.2.2 Being Lazy and Cleaning Up......Page 422
Example 25-3. Minicomposer: src/org/netbeans/examples/modules/minicomposer/NoteNode.java in Basic Form......Page 423
25.3.1 Deletion of Notes......Page 425
25.3.2 Renaming of Notes......Page 426
Figure 25-5. Minicomposer: in-place rename......Page 427
Example 25-4. Minicomposer: src/org/netbeans/examples/modules/minicomposer/NoteTransfer.java with NewType......Page 428
Example 25-5. Minicomposer: src/org/netbeans/examples/modules/minicomposer/NoteProperty.java......Page 430
25.6 Reordering Subnodes......Page 433
Figure 25-8. Minicomposer: the Change Order option......Page 435
Figure 25-10. Minicomposer: moving a note up......Page 436
Figure 25-11. Minicomposer: clipboard with three notes copied......Page 437
25.7.2 Cutting and Copying......Page 438
25.7.3 Pasting......Page 440
25.7.5 Converting Score Text, Text Score, Several Scores One......Page 443
Figure 25-12. Minicomposer: changing clipboard contents with convertor active......Page 444
26.1 Startup Performance vs. Runtime Performance......Page 448
26.2.3 What Are the Critical Paths?......Page 449
26.3.1 Lazy Initialization......Page 450
26.3.3 Avoid ModuleInstall Classes—Use XML Layers......Page 451
26.3.5 Use URLs Instead of CDATA Sections in XML Layers......Page 452
26.3.8 Using the addNotify() and removeNotify() Pattern Where Exposed by Non-GUI Classes......Page 453
26.3.9 Use Weak and Soft References for Objects......Page 454
26.3.10 Use WeakListener......Page 455
26.3.12 Avoid Overuse of Threads......Page 456
26.3.14 Swing Performance......Page 457
27.1.1 Version Numbers and What They Mean......Page 458
Example 27-1. Dependency specifications in modules......Page 459
27.1.3.1 Routine and compatible upgrades......Page 461
27.1.3.2 Incompatible upgrades......Page 462
27.1.3.3 Module dependencies and relative order......Page 463
27.2.1 Settings History and Physical Format......Page 464
27.2.2.1 Serialized settings......Page 466
27.2.2.3 Actions......Page 467
27.2.3 What Happens When a Module Is Disabled?......Page 468
27.3 Bundling Extension Libraries......Page 469
Example 27-5. The package manifest......Page 470
27.3.2 Using Autoload Library Modules......Page 471
Figure 27-1. Autoload modules......Page 472
Example 27-7. I18N: Basic src/org/module/Bundle.properties......Page 473
27.4.1 I18N and L10N......Page 474
Example 27-12. I18N: Revised src/org/module/Bundle.properties......Page 475
27.4.2 A11Y......Page 476
Example 27-15. JavaHelp: src/org/netbeans/examples/modules/minicomposer/help-map.xml......Page 477
Example 27-16. JavaHelp: src/org/netbeans/examples/modules/minicomposer/help-contents.xml......Page 478
Example 27-17. JavaHelp: src/org/netbeans/examples/modules/minicomposer/help-set-ref.xml......Page 479
Example 27-18. JavaHelp: src/org/netbeans/examples/modules/minicomposer/help-main-page.xml......Page 480
Figure 27-3. Minicomposer: Help Sets submenu......Page 481
27.5.4 Separating Help from Code......Page 482
27.6.1 Supplying a Parser Database......Page 483
Example 27-19. Bundling Javadoc: javadoc-mount.xml......Page 484
Example 27-20. Adding to the User Classpath: lib-mount.xml......Page 485
Example 27-21. Java Templates: SimpleRenderer.java.template......Page 486
27.7 Creating the Module JAR File Within the IDE......Page 487
27.8 Creating a Build Script Using Ant......Page 488
Example 27-23. NBMs: Sample Info/info.xml......Page 489
Example 27-24. Update Center: Sample Update XML......Page 491
Example 27-25. Update Center: updates.settings......Page 493
27.11 Using ErrorManager to Log Problems......Page 494
27.12 Testing......Page 496
28.1 Do You Need Your Own Distribution?......Page 497
28.3 Selecting a Baseline......Page 498
28.4 Getting the Sources......Page 499
28.5 Customizing the Build Process......Page 500
28.6 Adding Modules to a \"Stock\" Distribution......Page 501
Example 28-1. Adding a Module: sample system/Modules/com-yourcorp-modulename.xml......Page 502
28.7 Creating Preconfigured Settings......Page 503
28.8.1 Implementing Branding on a Distribution......Page 504
28.8.2 Simple Branding: Text Strings and Images......Page 505
Figure 28-1. Branding: patching the core bundle......Page 506
28.8.3 Configuration Branding: Menu Bar, Workspaces, and More......Page 507
Example 28-2. Branding: .../Layer_macmod.xml with a new file......Page 508
28.8.3.3 Removing (masking) a file......Page 509
28.8.3.4 Using the Open APIs Support to brand layers......Page 510
28.8.4 Advanced Branding: Patching Behavior......Page 511
Figure 28-4. Showing the system filesystem in the Explorer......Page 512
Example 28-4. Branding: org/netbeans/modules/autoupdate/resources/info-UpdateAction_macmod.html......Page 514
A.1.1 The XML Modules......Page 516
A.1.2 The Editor......Page 517
A.1.6 The Java Module......Page 518
A.1.11 Classfile Reader Module......Page 519
A.2.1 The Utilities Module......Page 520
A.3.2 Adding Information to the View of Java Sour......Page 521
A.3.7 Stretching the Limits—the Web Modules......Page 522
A.3.12 Execution—the Applet and JSP/Servlet Modul......Page 523
A.3.17 Interconversion between Different Types of......Page 524
A.3.22 Wizards—the CORBA, Java, and New Module Wi......Page 525
A.3.25 Enabling/Disabling Sets of Actions Based o......Page 526
B.2 Visual Components and Extensions to Standard Swing Components......Page 527
B.5 Miscellaneous Utility Classes inorg.openide.util......Page 528
B.6 Serialization Helpers......Page 529
C.2 Java Environments......Page 530
C.4 Secure Shell (SSH) Resources......Page 531
C.7.1 Organization of Main NetBeans Web Site......Page 532
C.9 Java-Oriented IDEs Other Than NetBeans......Page 533
D.2 Uniform Lookup......Page 535
D.4 The Looks API......Page 536
D.6 Deprecation of IDE-Specific Functionality in the Open APIs......Page 537
D.7 The Metadata Repository......Page 538
D.8 Project Support......Page 539
E.1.2 Consensus......Page 542
E.1.2.1 The mechanics of consensus......Page 543
E.1.3.1 The mechanics of contribution......Page 547
E.1.4 The Lifecycle of Module Development......Page 549
E.2.1 CVS (Concurrent Versioning System)......Page 550
E.2.3 Mailing Lists......Page 551
E.2.4 Issuezilla......Page 552
E.3 Interacting Effectively on Mailing Lists......Page 553
Appendix F. Additional Modules and Where to Find Them......Page 555
F.1 Open Source Modules Available Via the Update Center......Page 556
F.2 The Modules Marketplace on Flashline......Page 557
F.3 IDEs That Are Distributions of the NetBeans IDE......Page 559
F.4 Open Source Application Projects Based on NetBeans......Page 560
F.5 Commercial Applications Built on the NetBeans Platform......Page 561
F.6 Commercial Modules Available for NetBeans......Page 562
F.7 Should You Create Your Own Update Server?......Page 564
Colophon......Page 566