// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Apache NetBeans DevFaq wiki index
:jbake-type: wiki
:jbake-tags: wiki, devfaq, needsreview
:jbake-status: published
:keywords: Apache NetBeans wiki index
:description: Apache NetBeans wiki index
:toc: left
:toc-title:
:syntax: true

[.sect1]
== DevFaq wiki index

=== Actions: How to add things to Files, Folders, Menus, Toolbars and more

- link:DevFaqActionAddAnyFolder.asciidoc[How do I add an action to any folder?]
- link:DevFaqActionAddDataObject.asciidoc[How do I add an action to my custom node?]
- link:DevFaqActionAddEditorPopup.asciidoc[How do I add an action to the context menu of a specific editor?]
- link:DevFaqActionAddFileMime.asciidoc[How do I add an action to all files of a given mime-type?]
- link:DevFaqActionAddFolder.asciidoc[How do I add an action to a folder?]
- link:DevFaqActionAddJavaPackage.asciidoc[How do I add an action to an Java package?]
- link:DevFaqActionAddMenuBar.asciidoc[How do I add an action to the main menu?]
- link:DevFaqActionAddProjectOwnTypePopUp.asciidoc[How do I add an action to a project popup menu of my own project type?]
- link:DevFaqActionAddTabPopup.asciidoc[How do I add an action to the global popup menu of tabs?]
- link:DevFaqActionAddToContextMenuOfAllEditors.asciidoc[How do I add an action to the context menu of all editors?]
- link:DevFaqActionAddToEditorToolbar.asciidoc[How do I add an action to the toolbar of the editor?]
- link:DevFaqActionAddToolBar.asciidoc[How do I add an action to a toolbar in the main window?]
- link:DevFaqActionAddTools.asciidoc[How do I add an action to the tools menu?]
- link:DevFaqActionContextSensitive.asciidoc[How do I make an action that is automatically enabled/disabled depending on what's selected?]
- link:DevFaqActionNodePopupSubmenu.asciidoc[How do I make my Node have a submenu on its popup menu?]
- link:DevFaqActionsAddAtRuntime.asciidoc[How do I add an action (incl. shortcut) at runtime?]
- link:DevFaqActionsFolder.asciidoc[What is the Actions folder in the system filesystem, and why should I use it?]
- link:DevFaqAddActionToMembersOrHierarchyView.asciidoc[How do I add an action to the context menu of the members or hierarchy view?]
- link:DevFaqAddGlobalContext.asciidoc[How do I add content to the Global Context?]
- link:DevFaqAddIconToContextMenu.asciidoc[How do I add an icon to the context menu?]
- link:DevFaqAddMacroableAction.asciidoc[How do I create an action which can be invoked by a macro?]
- link:DevFaqChangeMenuItemToolbarAppearanceForAction.asciidoc[How do I change the appearance of the menu items and toolbar buttons for my Action]
- link:DevFaqCheckableActionPreferenceOption.asciidoc[How do I make a checkable/toggle-able action that represents a preference option?]
- link:DevFaqDropdownMenuAddToolbar.asciidoc[How do I add a dropdown menu to toolbar?]
- link:DevFaqDropdownMenuAddToolbarEnabled.asciidoc[How do I add a dropdown menu to toolbar that is selectively enabled/disabled?]
- link:DevFaqFileOpenAction.asciidoc[How do I get the Open File item on the File menu into my platform application?]
- link:DevFaqFindLocationInSourcesFromUi.asciidoc[Looking at the UI how do I find a module that implements a menu item]
- link:DevFaqHideRemoveToolbarMenu.asciidoc[How do I hide/remove default toolbar buttons and/or menu items?]
- link:DevFaqHideShowToolbar.asciidoc[How do I hide/show toolbar dynamically?]
- link:DevFaqHowCreateAnActionObject.asciidoc[How can I to create an Action object and attach this action to one or more components on frame without manually editing Generated Code?]
- link:DevFaqHowOrganizeOrReuseExistingActionsWithAnnotations.asciidoc[How can I reuse and/or organise actions only by using annotations (@ActionReferences)?]
- link:DevFaqHowToDefineTheKeyMapCategoryForAnAction.asciidoc[How do I define and localise the keymap category of an action?]
- link:DevFaqInvokeActionProgrammatically.asciidoc[How do I invoke an action programmatically?]
- link:DevFaqJSeparatorInMainToolbar.asciidoc[How can I add a JSeparator to the main toolbar?]
- link:DevFaqLogActionStartup.asciidoc[How do I invoke the IDE-Log upon Startup?]
- link:DevFaqMainwindowClosingAction.asciidoc[How do i change the closing action of the MainWindow?]
- link:DevFaqRenamingMenuItem.asciidoc[Some module in the IDE etc. already has a menu item I like, but I just want to rename it. Can I?]
- link:DevFaqSwitchingMenusByContext.asciidoc[Can I change the contents of a menu according to the selected file in the editor, or hide or show a whole menu?]
- link:DevFaqToggleActionAddToEditorToolbar.asciidoc[How do I add a toggle-able action to the toolbar/main menu?]
- link:DevFaqTweakRegistryByCodeDeduction.asciidoc[How do I remove Menu Item, Toolbar Button from plug-in's XML Layer?]
- link:DevFaqTweakRegistryByCodeReplacement.asciidoc[How do I have only Shortcut Keys for an Action?]
- link:DevFaqUsingSubmenus.asciidoc[Can I install submenus into popups or other menus, instead of a regular action?]

=== Application Lifecycle and Hooks

- link:DevFaqAppLifecycleHooks.asciidoc[What are some of the hooks in the application's lifecycle I can plug into?]

=== Authentication and Authorization in Platform Apps

- link:DevFaqPlatformAppAuthStrategies.asciidoc[Other strategies for authentication and authorization]

=== Branding your application

- link:BrandingAboutDialog.asciidoc[Branding About Dialog]
- link:BrandingUpdaterSplash.asciidoc[Branding Updater Splash]
- link:DevFaqRemoveStatusBar.asciidoc[How do I remove the status bar?]
- link:DevFaqVersionNumber.asciidoc[How do I set the version number?]
- link:TranslateNetbeansModule.asciidoc[Translating a NetBeans Module]

=== Command Line Parsing

- link:HowToEnableDisableMenusFromCommandLine.asciidoc[Can something that the user sets on the command line determine whether a menu item is enabled?]
- link:HowToEnableDisableModulesFromCommandLine.asciidoc[Same as the above, but this time for enabling/disabling modules?]
- link:HowToPassCommandLineArgumentsToANetBeansPlatformApplicationWhenRunInsideTheIDE.asciidoc[How to pass command line arguments to a NetBeans Platform application when run inside the IDE]

=== Configuration: How Modules Install Things

- link:DevFaqDotSettingsFiles.asciidoc[What are .settings files?]
- link:DevFaqDotShadowFiles.asciidoc[What are .shadow files?]
- link:DevFaqDynamicSystemFilesystem.asciidoc[Can I dynamically change the contents of the System Filesystem at runtime?]
- link:DevFaqFilesystemSee.asciidoc[How can I see the filesystem?]
- link:DevFaqInstalledFileLocator.asciidoc[Can I bundle some additional files with my module?  If so, how can I find those files to use them from my module?]
- link:DevFaqInstanceDataObject.asciidoc[What are .instance files?]
- link:DevFaqModulesGeneral.asciidoc[What are the ways a module can influence the system?]
- link:DevFaqModulesLayerFile.asciidoc[What is an XML layer?]
- link:DevFaqModulesStartupActions.asciidoc[How do I run some code when my module starts/loads/unloads?]
- link:DevFaqOrderAttributes.asciidoc[How do I specify the order for my menu items/toolbar buttons/files in the system filesystem?]
- link:DevFaqSystemFilesystem.asciidoc[What is the system filesystem?]
- link:DevFaqUserDir.asciidoc[What is the user directory, what is in it, and why do I need one?]

=== Converting between common data types and finding things

- link:DevFaqDataObjectFileObject.asciidoc[How do I get a DataObject for a FileObject?]
- link:DevFaqDataObjectNode.asciidoc[How do I get a DataObject for a Node?]
- link:DevFaqFileFileObject.asciidoc[How do I get a java.io.File for a FileObject?]
- link:DevFaqFileObjectDataObject.asciidoc[How do I get a FileObject for a DataObject?]
- link:DevFaqFileObjectFile.asciidoc[How do I get a FileObject for a File?]
- link:DevFaqFileVsFileObject.asciidoc[FileObjects versus Files]
- link:DevFaqFindInstance.asciidoc[I have a .instance file.  How do I get an actual object instance?]
- link:DevFaqFindSfs.asciidoc[How do I get a reference to the system filesystem?]
- link:DevFaqFolderOfInstances.asciidoc[I have a folder full of .instance files.  How do I get any/all of the object instances?]
- link:DevFaqNodeDataObject.asciidoc[How do I get a Node for a DataObject?]
- link:DevFaqUriVsUrl.asciidoc[URIs and URLs]

=== Creating a Custom Programming Language

- link:DevFaqCustomDebugger.asciidoc[How can I create a custom Debugger for my language?]
- link:DevFaqSyntaxHighlight.asciidoc[How do I add syntax highlighting for my language?]

=== Deploying Changes through AutoUpdate and using Autoupdate API

- link:DevFaqAutoUpdateAPIJavadoc.asciidoc[How can I find Javadoc of Autoupdate API with hints to use it?]
- link:DevFaqAutoUpdateBranding.asciidoc[How can I update the splash screen, title bar and other branding items via AutoUpdate?]
- link:DevFaqAutoUpdateCheckEveryStartup.asciidoc[How to force to check for updates at every startup?]
- link:DevFaqCustomUpdateCenter.asciidoc[How can I use AutoUpdate to deploy updates and new modules for my application?]
- link:DevFaqHowToChangeUpdateCenterURL.asciidoc[How to change the update center URL via code?]
- link:DevFaqNBMPack200.asciidoc[How to deal with pack200 compression in NBM?]
- link:DevFaqNbmPostInstall.asciidoc[How to specify post-install code in NBM?]
- link:DevFaqUseNativeInstaller.asciidoc[How can I run the installer for something else during module installation?]
- link:FaqPluginManagerCustomization.asciidoc[What other documentation is available about AutoUpdate?]

=== Deployment using installers / NBI

- link:DevInstallerAddVersioningInfo.asciidoc[How to add versioning information to be shown in "Installed Programs" (Windows-only)?]

=== Development issues, module basics and classpath issues, and information about RCP/Platform application configuration

- link:DevFaq2SrcPaths.asciidoc[How do I have two source directories within one module?]
- link:DevFaqAnnotationDevelopDebug.asciidoc[How do I develop and debug annotations for NetBeans platform apps?]
- link:DevFaqApiSpi.asciidoc[What is an SPI?  How is it different from an API?]
- link:DevFaqAutomaticPlatformDownload.asciidoc[How can I have my application compiled in a specific version of the platform?]
- link:DevFaqClassLoaders.asciidoc[What classloaders are created by the module system?]
- link:DevFaqCustomizeBuild.asciidoc[How can I customize the build process?]
- link:DevFaqDependOnCore.asciidoc[There is a class under org.netbeans.core that does what I need.  Can I depend on it?]
- link:DevFaqExternalLibraries.asciidoc[How to store external libraries in the NetBeans Hg repository]
- link:DevFaqHowPackageLibraries.asciidoc[I need to package some third party libraries with my module.  How do I do that?]
- link:DevFaqHowToFixDependencies.asciidoc[My project.xml lists more dependencies than I really need. How can I fix it?]
- link:DevFaqHowToReuseModules.asciidoc[Can I use modules from update center in my RCP application?]
- link:DevFaqImplementationDependency.asciidoc[What is an implementation dependency and what/how/when should I use one?]
- link:DevFaqJavaHelp.asciidoc[Is there a standard way to provide user documentation (help) for my module?]
- link:DevFaqMemoryLeaks.asciidoc[How can I fix memory leaks?]
- link:DevFaqMigratingToNewerPlatform.asciidoc[Migrating to a newer version of the Platform]
- link:DevFaqModuleDependencies.asciidoc[How do module dependencies/classloading work?]
- link:DevFaqModulePatching.asciidoc[How do I create a patch for a preexisting NetBeans module?]
- link:DevFaqModuleReload.asciidoc[Do I need to restart NetBeans every time to debug new changes?]
- link:DevFaqNativeLibraries.asciidoc[How do I add native libraries?]
- link:DevFaqNbIdiosyncracies.asciidoc[Common calls that should be done slightly differently in NetBeans than standard Swing apps (loading images, localized strings, showing dialogs)]
- link:DevFaqNbPlatformAndHarnessMixAndMatch.asciidoc[I want to use one version of the Platform with another version of the build harness. Can I?]
- link:DevFaqNetBeansClasspath.asciidoc[My module uses some libraries. I've tried setting CLASSPATH but it doesn't work. Help!]
- link:DevFaqNetBeansFullHack.asciidoc[Can I test changes to the IDE without going through the license check and so on?]
- link:DevFaqNetBeansProjectsDirectory.asciidoc[How can I customize the default project directory for my application, replacing "NetBeansProjects"?]
- link:DevFaqNoClassDefFound.asciidoc[My module uses class XYZ from NetBeans' APIs.  It compiles, but I get a NoClassDefFoundError at runtime. Why?]
- link:DevFaqOrphanedNetBeansOrgModules.asciidoc[Can I work on just one or two modules from the NetBeans source base by themselves?]
- link:DevFaqPlatformRuntimeProperties.asciidoc[I want to set some flags or CLI arguments for running my NB RCP/Platform based application (such as disable assertions). How do I do that?]
- link:DevFaqProfiling.asciidoc[How can I profile NetBeans?]
- link:DevFaqRuntimeMemory.asciidoc[How to run module with more PermGen and Heap memory?]
- link:DevFaqSignNbm.asciidoc[Can I sign NBMs I create?]
- link:DevFaqSpecifyJdkVersion.asciidoc[My module requires JDK 6 - how do I keep it from being loaded on an older release?]
- link:DevFaqSuitesVsClusters.asciidoc[What is the difference between a suite and a cluster?]
- link:DevFaqTopManager.asciidoc[Where is TopManager?  I'm trying to do the examples from the O'Reilly book]
- link:DevFaqUIResponsiveness.asciidoc[I am developing a NetBeans module. What performance criteria should it satisfy?]
- link:DevFaqUiDefaultsPropsNotFound.asciidoc[Why can't I load properties using UIDefaults?]
- link:DevFaqWeakListener.asciidoc[What is a WeakListener?]
- link:DevFaqWeakListenerWhen.asciidoc[When should I use a WeakListener?]
- link:DevFaqWhatIsACluster.asciidoc[What is a module cluster?]
- link:DevFaqWhatIsNbm.asciidoc[What is an "NBM"?]
- link:DevFaqWhenUseWrapperModule.asciidoc[When should I use a library wrapper module and when should I just package the library into my module?]
- link:DevFaqWrapperModules.asciidoc[What is a library wrapper module and how do I use it?]
- link:FaqRunSameTargetOnAllModules.asciidoc[How can I launch an Ant Task on all modules of my suite?]

=== Dialogs API

- link:DevFaqDialogControlOKButton.asciidoc[How can I control when the OK button is enabled]
- link:DevFaqDialogsApiIntro.asciidoc[What is the Dialogs API and How Do I Use It?]

=== Editor and Edited Files

- link:DevFaqEditorCodeCompletionAnyJEditorPane.asciidoc[How to add code completion to any JEditorPane]
- link:DevFaqEditorGetCurrentDocument.asciidoc[How can I get the currently open document in the selected editor?]
- link:DevFaqEditorHowIsMimeLookupComposed.asciidoc[How is MimeLookup composed?]
- link:DevFaqEditorHowToAddCodeTemplates.asciidoc[How to add code templates?]
- link:DevFaqEditorHowToAddDiffView.asciidoc[How to use the diff view in my own application/plugin?]
- link:DevFaqEditorHowToGetMimeTypeFromDocumentOrJTextComponent.asciidoc[How to get mime type from Document or JTextComponent?]
- link:DevFaqEditorHowToReuseEditorHighlighting.asciidoc[How to reuse XML syntax highlighting in your own editor]
- link:DevFaqEditorJEPForMimeType.asciidoc[How can I create JEditorPane for a specific document type?]
- link:DevFaqEditorWhatIsMimeLookup.asciidoc[What is MimeLookup?]
- link:DevFaqEditorWhatIsMimePath.asciidoc[What is MimePath?]
- link:DevFaqFileEditorContextMenuAddition.asciidoc[Can I add a menu item to the context menu of the Java source editor?]
- link:DevFaqFindCaretPositionInEditor.asciidoc[How can I get the position of the caret/line in the selected editor?]
- link:DevFaqGetOpenEditorWindows.asciidoc[How can I get a list of open editors/documents?]
- link:DevFaqI18nFileEncodingQueryObject.asciidoc[Project Encoding vs. File Encoding - What are the precedence rules used in NetBeans 6.0?]
- link:DevFaqListenEditorChanges.asciidoc[How can I track what file the user is currently editing?]
- link:DevFaqModifyOpenFile.asciidoc[Is it safe to programmatically modify a file which is open in the editor?]
- link:DevFaqMultipleProgrammaticEdits.asciidoc[I want to make some programmatic changes to the edited file.  How can I do it so one Undo undoes it all?]
- link:DevFaqOpenFileAtLine.asciidoc[How can I open a file in the editor at a particular line number and column?]
- link:DevFaqOpenReadOnly.asciidoc[How can I open a file in the editor in read-only mode?]
- link:DevFaqSyntaxColoring.asciidoc[Can I add syntax coloring for my own data object/MIME type?]

=== File Management (within the IDE/Application)

- link:DevFaqOpenFile.asciidoc[How can I open a file in the IDE programatically?]

=== Files and Data Objects

- link:DevFaqDataLoader.asciidoc[What is a DataLoader?]
- link:DevFaqDataObject.asciidoc[What is a DataObject?]
- link:DevFaqDataObjectInItsCookieSet.asciidoc[The next button is never enabled when I create my DataObject from a template.  Help!]
- link:DevFaqDataSystemsAddPopupToAllFolders.asciidoc[How do I add a menu item to the popup menu of every folder in the system?]
- link:DevFaqFileAttributes.asciidoc[What are file attributes?]
- link:DevFaqFileChoosers.asciidoc[I need to show a file chooser.  How can I remember most-recently-used directories?]
- link:DevFaqFileContextMenuAddition.asciidoc[Can I add a menu item to the context menu of every Java source file?]
- link:DevFaqFileObject.asciidoc[What is a FileObject?]
- link:DevFaqFileObjectInMemory.asciidoc[How can I create a FileObject in memory?]
- link:DevFaqFileRecognition.asciidoc[How does NetBeans recognize files?]
- link:DevFaqFileSystem.asciidoc[What is a FileSystem?]
- link:DevFaqImplementFilesystem.asciidoc[I'm having trouble implementing this filesystem....]
- link:DevFaqListenForChangesInNonExistentFile.asciidoc[I want to listen for changes in a file that may not exist or may be deleted and re-created]
- link:DevFaqListenForOpenEvents.asciidoc[How can I be notified when a file is opened?]
- link:DevFaqListenForSaveEvents.asciidoc[How can I be notified when a file is modified and saved?]
- link:DevFaqListeningForFileChanges.asciidoc[I am listening for changes in a folder/file but when there are changes I do not receive an event]
- link:DevFaqMIMEResolver.asciidoc[How can I create declarative MIMEResolver and add new file type?]
- link:DevFaqNewXMLFileType.asciidoc[How do I add support for an XML type with a different extension?]

=== Getting Started

- link:DefFaqMapApisToTasks.asciidoc[What API do I want to use for x, y or z?]
- link:DevFaqAccessSourcesUsingMercurial.asciidoc[How do I get sources for NetBeans using Mercurial (hg)?]
- link:DevFaqAccessSourcesWeb.asciidoc[How do I get zipped sources for a periodic build?]
- link:DevFaqBecomingProficient.asciidoc[Becoming a proficient module developer]
- link:DevFaqGeneralPackageNamingConventions.asciidoc[Why are some packages org.netbeans.api.something and others are org.netbeans.something.api?]
- link:DevFaqGeneralWhatIsNetBeansExe.asciidoc[What is netbeans.exe, who compiles it and why is it there?]
- link:DevFaqGeneralWhereIsJavadoc.asciidoc[Where can I find Javadoc for the IDE and Platform?]
- link:DevFaqGeneralWhereIsPlatformHowToBuild.asciidoc[Where is the Platform and how can I build it?]
- link:DevFaqLibrariesModuleDescriptions.asciidoc[In the Libraries tab of my application's Project Properties, there sure are a lot of modules listed. What are they for]
- link:DevFaqNetBeansPlatformManager.asciidoc[How do I set up a NetBeans Platform in the IDE?]
- link:DevFaqSellingModules.asciidoc[I have written a module. Can I sell it?]
- link:DevFaqSourceTreeModuleDescriptions.asciidoc[There sure are a lot of modules in the source tree.  What are they for]
- link:DevFaqWhatIsAModule.asciidoc[What is a module?]

=== Getting support, where to find examples

- link:DevFaqFileBug.asciidoc[Filing a bug report]
- link:DevFaqMoreDocsOnCertainAPIs.asciidoc[Where can I find more documentation on certain APIs?]
- link:DevFaqSampleCode.asciidoc[Examples of how to use various APIs]
- link:NetBeansCertifiedEngineerCourse.asciidoc[Can I get training material for the NetBeans Certification course?]

=== HTML Browser

- link:DevFaqHowToOpenURL.asciidoc[How to open a URL in the internal/default HTML browser?]

=== JavaHelp

- link:DevFaqHelpGuidelines.asciidoc[JavaHelp integration guide]
- link:DevFaqIdeWelcome.asciidoc[How do I fix problems about 'ide.welcome'?]
- link:DevFaqJavaHelpForNodeProperties.asciidoc[How can I hook up JavaHelp to property sets or individual properties?]
- link:DevFaqJavaHelpNotDisplayed.asciidoc[Why doesn't my JavaHelp content show up?]
- link:DevFaqJavaHelpOverrideCustom.asciidoc[How can I override JavaHelp to display my own custom help or documentation?]

=== Key Bindings

- link:DevFaqAddDefaultActionShortcuts.asciidoc[How do I add default shortcuts for SystemActions (like cut, paste, etc)?]
- link:DevFaqAddShortCutForAction.asciidoc[How to set the shortcut of an action outside of your own module?]
- link:DevFaqGetShortCutForAction.asciidoc[How to get the shortcut/shortkey of an action at runtime?]
- link:DevFaqGlobalVsEditorKeybindings.asciidoc[What about editor-specific keybindings?]
- link:DevFaqKeybindings.asciidoc[How do key bindings work?]
- link:DevFaqKeybindingsInUse.asciidoc[Which keybindings are already being used?]
- link:DevFaqLogicalKeybindings.asciidoc[Why should I use D- for Ctrl and O- for Alt? I thought C- stood for Ctrl and A- stood for Alt!]
- link:DevFaqOrderActions.asciidoc[I want my action to appear between two existing items/in a specific place in the menu.  Can I do that?]
- link:DevFaqRebindingKeys.asciidoc[Binding one key to more than one action]

=== Licensing Issues

- link:DevFaqEpl3rdPartySources.asciidoc[Where to download sources of EPL third-party components?]
- link:DevFaqLgpl3rdPartySources.asciidoc[Where to download sources of LGPL third-party components?]
- link:DevFaqLic3rdPartyComponents.asciidoc[NetBeans Platform and 3rd party components]
- link:DevFaqMpl3rdPartySources.asciidoc[Where to download sources of MPL third-party components?]

=== Logging and Error Handling

- link:DevFaqAddTimestampToLogs.asciidoc[How can I add a timestamp to the logs?]
- link:DevFaqCustomizingUnexpectedExceptionDialog.asciidoc[How can I customize the Unexpected Exception dialog?]
- link:DevFaqLogging.asciidoc[Using java.util.logging in NetBeans]
- link:DevFaqUIGestures.asciidoc[UI Logging through Gestures Collector]
- link:DevFaqUnexpectedExceptionDialog.asciidoc[How can I suppress the Unexpected Exception dialog?]

=== Look and Design

- link:DevFaqChangeLookAndFeel.asciidoc[How can I set the Swing look and feel on startup?]
- link:DevFaqCustomFontSize.asciidoc[I have a custom component.  How can I make it respond to --fontsize like the rest of NetBeans?]
- link:DevFaqImagesForDarkLaf.asciidoc[How to provide non-inverted images for dark LookAndFeels like DarkMetal/Darcula?]

=== Lookup

- link:DevFaqLookup.asciidoc[What is a Lookup?]
- link:DevFaqLookupContents.asciidoc[How can I find out what is in a Lookup]
- link:DevFaqLookupCookie.asciidoc[What is the difference between getCookie(Class), SharedClassObject.findObject(Class) and Lookup.lookup(Class)?]
- link:DevFaqLookupDefault.asciidoc[What is the "default Lookup"?]
- link:DevFaqLookupEventBus.asciidoc[Event Bus in NetBeans]
- link:DevFaqLookupForDataNode.asciidoc[How can I add support for lookups on nodes representing my file type?]
- link:DevFaqLookupGenerics.asciidoc[How do I use Java generics with Lookup?]
- link:DevFaqLookupHowToOverride.asciidoc[How can I override an instance in the Lookup?]
- link:DevFaqLookupImplement.asciidoc[How do I implement my own lookup or proxy another one?]
- link:DevFaqLookupLazyLoad.asciidoc[How do I lazy-load an item in the lookup?]
- link:DevFaqLookupNonSingleton.asciidoc[If there is more than one of a type in a Lookup, which instance will I get?]
- link:DevFaqLookupPackageNamingAndLookup.asciidoc[After adding my class to Lookup I get a "ClassNotFoundException" when trying to look it up, why?]
- link:DevFaqLookupVsHashmap.asciidoc[Why use Lookup - wouldn't a Map be good enough?]
- link:DevFaqLookupWhere.asciidoc[What uses Lookup?]
- link:DevFaqSysFsLookupRegistration.asciidoc[How can I register services into the lookup using the system filesystem?]
- link:DevFaqWhenLookup.asciidoc[When should I use Lookup in my own APIs?]

=== Mavenized Builds

- link:DevFaqMavenHowToMigrateFromANT.asciidoc[How to convert an ANT-based NetBeans Module to a Maven-based NetBeans Module?]
- link:DevFaqMavenL10N.asciidoc[How can I create localization modules using Maven?]
- link:DevFaqMavenPlatformRebel.asciidoc[Can I use JRebel to speed up development?]
- link:DevFaqMavenSystemScope.asciidoc[Why can't I use system scope for a library wrapper module?]

=== Module System

- link:Autoload.asciidoc[What is an autoload module?]
- link:DevFaqChangeRestartSplash.asciidoc[How can I change the NetBeans splash screen shown when an installed module requires restart?]
- link:DevFaqDisableAutoupdate.asciidoc[Can I disable Auto Update (for example, while running tests)?]
- link:DevFaqFixDependencies.asciidoc[How fix module dependencies automatically?]
- link:DevFaqModuleCCE.asciidoc[Why am I getting a ClassCastException when the class is clearly of the right type?]
- link:DevFaqModuleDupePackages.asciidoc[Can two or more modules contain the same package?]
- link:DevFaqModuleLoadUnloadNotification.asciidoc[How can code in one module be notified when other modules are loaded or unloaded?]
- link:DevFaqModuleObfuscation.asciidoc[How can I obfuscate a module?]
- link:DevFaqNonGuiPlatformApp.asciidoc[Can I create a console or server (non-GUI) app with the NetBeans Platform?]
- link:DevFaqSuppressExistingModule.asciidoc[I want my module to disable some of the modules that would normally be enabled. Possible?]
- link:DevFaqTutorialsDebugging.asciidoc[How do I debug a module I'm building?]

=== NetBeans Developer FAQ

- link:FaqIndex.asciidoc[list of other FAQs]
- link:HowToAddFAQEntries.asciidoc[How To Add FAQ Entries]

=== Nodes and Explorer

- link:DevFaqAddDoingEvilThingsToForeignNodes.asciidoc[I have a reference to an existing Node from some other module.  Can I add cookies/properties/children?]
- link:DevFaqAddingRemovingChildrenDynamically.asciidoc[Can I add, remove or reorder children of a node on the fly?]
- link:DevFaqChangeNodeAppearance.asciidoc[How can I change my node's appearance?]
- link:DevFaqCreateExplorerPanel.asciidoc[How do I create a TopComponent (tab in the main window) to show some Nodes?]
- link:DevFaqCutCopyPaste.asciidoc[How do I handle cut, copy and paste?]
- link:DevFaqExpandAndSelectSpecificNode.asciidoc[How do I make a particular node visible in the Explorer, and maybe select it?]
- link:DevFaqExplorer.asciidoc[What is "explorer"?]
- link:DevFaqExplorerConnectNode.asciidoc[How do I show a Node in my explorer view?]
- link:DevFaqExplorerManager.asciidoc[What is an ExplorerManager?]
- link:DevFaqExplorerViews.asciidoc[What is an Explorer View?]
- link:DevFaqExplorerViewsInMantisse.asciidoc[How can I design explorer views in Mantisse GUI editor?]
- link:DevFaqFilesFromNodes.asciidoc[How do I get at the file that a particular node represents?]
- link:DevFaqGraphicalChoiceView.asciidoc[How can I graphically create a ChoiceView?]
- link:DevFaqNodeChildrenDotLeaf.asciidoc[Why do my nodes in the Explorer always have an expand-box by them, even though they have no children?]
- link:DevFaqNodeDeletionDialog.asciidoc[How can I prevent (or override) the node deletion dialog?]
- link:DevFaqNodeInjectingLookupContents.asciidoc[I want to allow other modules to inject objects into my Node's Lookup, or Actions into its actions]
- link:DevFaqNodePropertyForFiles.asciidoc[I have a Node.Property for a file. How can I control the file chooser that is the custom editor?]
- link:DevFaqNodeSelectAll.asciidoc[How can I implement "Select all/Deselect all/Invert selection" features?]
- link:DevFaqNodeSerialize.asciidoc[How to serialize my nodes?]
- link:DevFaqNodeSubclass.asciidoc[I need to create my own Nodes. What should I subclass?]
- link:DevFaqNodeViewCapability.asciidoc[How can I add a "View" capability for data my node represents?]
- link:DevFaqNodesChildFactory.asciidoc[I need to show Nodes for objects that are slow to create.  How do I compute Node children on a background thread?]
- link:DevFaqNodesCustomLookup.asciidoc[I need to add to/remove from/customize the content of my Node/DataObject/TopComponent's Lookup.  How do I do it?]
- link:DevFaqNodesDecorating.asciidoc[How do I "decorate" nodes that come from another module (i.e. add icons, actions)?]
- link:DevFaqOutlineViewHorizontalScrolling.asciidoc[How can I add horizontal scrolling support to the OutlineView component?]
- link:DevFaqPropertyEditorHints.asciidoc[I have a Node.Property. I want to control its appearance or custom editor somehow.  Can I do that without writing my own property editor?]
- link:DevFaqSortableTTVColumns.asciidoc[How can I make sortable columns in a TreeTableView?]
- link:DevFaqSuppressEditTTVColumns.asciidoc[How do I remove the "..." buttons of a TreeTableView?]
- link:DevFaqTrackGlobalSelection.asciidoc[I need to write some code that tracks the global selection.  What should I do?]
- link:DevFaqTrackingExplorerSelections.asciidoc[Tracking selections in the Explorer]
- link:DevFaqViewSaveTTVColumns.asciidoc[How do I preserve the column attributes of a TreeTableView?]
- link:DevFaqWhatIsANode.asciidoc[What is a Node?]

=== Output Window

- link:DevFaqCustomIOProvider.asciidoc[How to implement custom IOProvider?]
- link:DevFaqInput.asciidoc[How to get user input in the Output Window?]
- link:DevFaqOWColorText.asciidoc[How to use color text in Output Window?]
- link:DevFaqOWTabEmbedding.asciidoc[How do I embed output window tab to another component?]
- link:DevFaqOutputWindow.asciidoc[How do I create my own tab in the output window and write to it?]
- link:DevFaqOutputWindowExternalProcess.asciidoc[How do I route the output from an external process to the output window?]

=== Printing

- link:DevFaqHowToPrint.asciidoc[Help, the Print menu item is disabled!]

=== Programmatic access to Java Sources

- link:DevFaqObtainSourcesOfAJavaClass.asciidoc[How to obtain a source file for a Java class and open in the editor?]
- link:DevFaqScanForClasses.asciidoc[How can I scan a classpath to find all classes of a particular type?]
- link:JavaHT_GetAllMembers.asciidoc[How do I Get All Methods/Fields/Constructors of a Class?]
- link:JavaHT_Modification.asciidoc[How can I programmatically modify a Java source file?]
- link:Java_DevelopersGuide.asciidoc[Java_DevelopersGuide]

=== Project Handling

- link:DevFaqGetNameOfProjectGroup.asciidoc[How to get the name of the active project group?]
- link:DevFaqGetNameOrIconForProject.asciidoc[How to get the name or icon of a project?]
- link:DevFaqGetProjectForFileInEditor.asciidoc[How to get the project of the active file in the editor?]
- link:DevFaqListenForOpeningClosingProject.asciidoc[How to listen for projects to be opened/closed?]
- link:DevFaqOpenProjectProgramatically.asciidoc[How can I open a Project programatically?]

=== Project Types

- link:DevFaqActionAddProjectCustomizer.asciidoc[How to add a new panel to a Project Properties dialog?]
- link:DevFaqActionAddProjectCustomizerToMultipleTypes.asciidoc[How do I register a "ProjectCustomizer" to multiple project types?]
- link:DevFaqActionAddProjectPopUp.asciidoc[How do I add an action to a project popup menu?]
- link:DevFaqActionAddProjectTypePopUp.asciidoc[How do I add an action to a project popup menu of a specific project type?]
- link:DevFaqActionAllAvailableProjectTypes.asciidoc[How determine all available project types?]
- link:DevFaqAddFileTemplateToNewFileContentMenu.asciidoc[How can I define the available File types when the user right-clicks the project folder and chooses "New"?]
- link:DevFaqIdentifyMain.asciidoc[How do I identify the "main project"?]
- link:DevFaqPossibleToExtend.asciidoc[Is it possible to extend an existing project type?]

=== Properties and PropertySheet

- link:DevFaqPropertySheetEditors.asciidoc[How do I change the default behavior of PropertySheet editors?]
- link:DevFaqPropertySheetHideDescription.asciidoc[How do I hide the description area in property window?]
- link:DevFaqPropertySheetNodes.asciidoc[How do I show my node's properties in the Properties view?]
- link:DevFaqPropertySheetReadonlyProperty.asciidoc[How do I add a readonly property?]
- link:DevFaqPropertySheetTabs.asciidoc[How do I display different groups of properties on buttons in the property sheet the way Matisse does?]

=== Running and Writing tests

- link:DevFaqTestDataObject.asciidoc[Writing Tests for DataObjects and DataLoaders]
- link:DevFaqTestUsingSystemFileSystem.asciidoc[How do I test something which uses the System Filesystem?]
- link:DevFaqUsingSimpletests.asciidoc[Using NbModuleSuite &amp; friends]
- link:DevRunningTestsPlatformApp.asciidoc[Running tests on a platform application]
- link:NetBeansDeveloperTestFAQ.asciidoc[NetBeans Developer Test FAQ]
- link:TestingThingsThatUseFileObjectDataObjectDataFolder.asciidoc[Testing things that use FileObjects]

=== Settings

- link:DevFaqExportImport.asciidoc[How to register options for export/import to module's layer?]
- link:DevFaqExtendOptionsSearch.asciidoc[How can I configure my options panel to be found by global quicksearch or options search?]
- link:DevFaqExtendOptionsWindow.asciidoc[Can I add new panels to the Options window?]
- link:DevFaqHowToChangeSettingsFromAnExternalModules.asciidoc[How do you change the configuration of other modules?]
- link:DevFaqJavaStartParms.asciidoc[How do I change the application's Java start parameters?]
- link:DevFaqOpenOptionsAtCategory.asciidoc[How do you open the option dialog with a preselected category?]
- link:DevFaqSetPrefs.asciidoc[How do I let the user set preferences/options/customization/configuration for my module/application?]

=== Tasks and Progressbar

- link:DevFaqExternalExecution.asciidoc[How to run/execute an external program?]
- link:DevFaqTaskLongRunningAsyncTask.asciidoc[How to execute a long running task from an action without blocking the GUI?]

=== Threading

- link:DevFaqBackgroundThread.asciidoc[What is a background thread and why do I need one?]
- link:DevFaqRequestProcessor.asciidoc[When should I use RequestProcessor.getDefault() and when should I create my own RequestProcessor?]
- link:DevFaqRequestProcessorTask.asciidoc[How can I run an operation occasionally on a background thread, but reschedule it if something happens to delay it?]
- link:DevFaqThreading.asciidoc[I need to run some code on a background thread.  Can the platform help me?]
- link:DevFaqThreadingBuiltIn.asciidoc[What APIs come with built-in background thread handling?]

=== Tutorials and important starting points

- link:DevFaqAnnotationList.asciidoc[NetBeans Annotation Cheat Sheet]
- link:DevFaqApisBasics.asciidoc[What are the basic things I should know about NetBeans' architecture to get started creating NetBeans Platform applications?]
- link:DevFaqTutorialsAPI.asciidoc[NetBeans API starting point]
- link:DevFaqTutorialsIndex.asciidoc[Any tutorials out there, please?]

=== Using Enterprise Resources from NetBeans module

- link:DevFaqAppClientOnNbPlatformTut.asciidoc[Java EE Application Client on top of NetBeans Platform Tutorial]
- link:DevFaqCallEjbFromNbm.asciidoc[How to call EJB from NetBeans module]

=== Using Sounds

- link:DevFaqMakeItTalk.asciidoc[How to make my application talk?]
- link:DevFaqUseSounds.asciidoc[How to use sounds in my application?]

=== Versioning

- link:ProjectVersioning.asciidoc[How to add versioning actions like GIT, Mercurial, SVN, CVS to my own nodes?]

=== When There Are Multiple Ways To Do Something...

- link:DevFaqModulesDeclarativeVsProgrammatic.asciidoc[Installing things declaratively vs. installing things programmatically]
- link:DevFaqRegisterObjectsViaInstanceOrSettingsFiles.asciidoc[Should I register an object in my layer file using .instance or .settings files?  What about .shadow files?]
- link:DevFaqWaysToRegisterInDefaultLookup.asciidoc[Which way should I register an object in the default Lookup?]
- link:DevFaqWhenToUseWhatRegistrationMethod.asciidoc[I need to register some object to be found at runtime, or run some code on startup.  Which way should I use?]

=== When things go wrong: Troubleshooting

- link:DevFaqTroubleshootClassNotFound.asciidoc[I've got a class not found error/exception.  How can I fix it?]
- link:DevFaqTroubleshootMissingItemsInZippedSources.asciidoc[I find files missing from the source ZIP file]

=== Window System

- link:DevFaqCustomWindowMode.asciidoc[How to create a custom window mode?]
- link:DevFaqCustomizeWindowSystem.asciidoc[How can I customize the window system via the latest 7.1 techniques/enhancements?]
- link:DevFaqEditorTopComponent.asciidoc[I want to create a TopComponent class to use as an editor, not a singleton]
- link:DevFaqExecutableIcon.asciidoc[How can I change the executable's icon?]
- link:DevFaqInitialMainWindowSize.asciidoc[How do I set the initial size of the main window?]
- link:DevFaqMainTitle.asciidoc[How to change main title contents?]
- link:DevFaqMixingLightweightHeavyweight.asciidoc[How to mix lightweight (Swing) and heavyweight (AWT) components?]
- link:DevFaqMultipleTopComponentAction.asciidoc[I have a non-singleton TopComponent. Can I write actions which show all available instances in the main menu?]
- link:DevFaqNonSingletonTopComponents.asciidoc[How can I change my TopComponent to not be a singleton?]
- link:DevFaqOverrideDefaultWindowSize.asciidoc[How to override the default size of an existing window?]
- link:DevFaqReplaceWindowSystem.asciidoc[How can I replace the Window System?]
- link:DevFaqWindowsAndDialogs.asciidoc[Windows and dialogs]
- link:DevFaqWindowsComponentHowTo.asciidoc[I want to show my own component(s) in the main window - where do I start?]
- link:DevFaqWindowsGeneral.asciidoc[What is the window system]
- [[DevFaqWindowsInternals|How does the window system _really_ work?]]
- link:DevFaqWindowsMatisse.asciidoc[How do I use Matisse/GroupLayout (new form editor/layout manager in 5.0) in my windowing system components]
- link:DevFaqWindowsMaximizeViaCode.asciidoc[How to maximize a TopComponent?]
- link:DevFaqWindowsMode.asciidoc[What are Modes?]
- link:DevFaqWindowsNoActionsOnToolbars.asciidoc[I want to disable the popup menu on the toolbars in the main window.  How do I do that?]
- link:DevFaqWindowsOpenInMode.asciidoc[My TopComponent always opens in the editor area, but I want it to open in the same place as XYZ]
- link:DevFaqWindowsOpenTopComponents.asciidoc[Which TopComponents are open?]
- link:DevFaqWindowsTopComponent.asciidoc[What are TopComponents?]
- link:DevFaqWindowsTopComponentLookup.asciidoc[Why does TopComponent have a getLookup() method?  What is it for?]
- link:DevFaqWindowsWstcrefAndFriends.asciidoc[How do I use .wstcrf/.wsmode/.settings files to install my module's components in the window system?]
- link:DevFaqWindowsXmlApi.asciidoc[How does the XML API for installing window system components work?]

=== Wizards and Templates

- link:DevFaqMakeGroupTemplate.asciidoc[How do I make a file template which actually creates a set of files at once?]
- link:DevFaqOpenFilesAfterProjectCreation.asciidoc[How to open files in editor after project creation?]
- link:DevFaqTemplatesInNonIdeApp.asciidoc[I am creating a non-IDE application.  How do I enable/control templates?]
- link:DevFaqWizardChangeLabelsOfDefaultButtons.asciidoc[How to customize the button text of default buttons of a wizard (Finish, Cancel, etc.)?]
- link:DevFaqWizardPanelError.asciidoc[How do I show that a user has filled an invalid input into my wizard?]

=== XML Multiview API

- link:DevFaqMultiViewChangeTabInCode.asciidoc[How to change selected tab of Multiview?]

-NOTE:* This document was automatically converted to the AsciiDoc format on 2018-02-07, and needs to be reviewed.
