Skip navigation links
org.netbeans.core/2 3.68

Friend, Private or Third Party

See: Description

Package Description

NetBeansCore The heart of NetBeans. It contains basic implementation of all necessary interfaces, takes care of the startup sequence and the whole lifecycle of any NetBeans based application.

What is New (see all changes)?

Use Cases

No special APIs exported beyond few friend contracts:

Exported Interfaces

This table lists all of the module exported APIs with defined stability classifications. It is generated based on answers to questions about the architecture of the module. Read them all...
Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?

The heart of NetBeans. It contains basic implementation of all necessary interfaces, takes care of the startup sequence and the whole lifecycle of any NetBeans based application.

org.netbeans.core.modules.AutomaticDependenciesExportedFriend .../org/openide/modules/doc-files/api.html

NbKeymap.contextExportedFriend .../src/org/netbeans/core/NbKeymap.html

The context field is accessed from editor module by reflection from MultiKeymap.


This module exports an API that allows the UI Gestures Collector module to plug and enhance the behaviour of exception dialog by own buttons. The behaviour is like this: If any of Handlers of Logger.getLogger("") implements Callable<JButton> then such button is going to be inserted to the exception dialog and can react and change the behaviour of that dialog. Such a button is going to be a "closing" one - e.g. the dialog will close as soon as the button is pressed.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?

Creates button with given string in bottom left corner of Options Dialog.


Given ActionListener is notified when custom button is pressed.


Allows to redefine default title of Options Dialog.


Enabling assertions (either global -ea or for class org.netbeans.core.NotifyException only) changes the default error notification behavior. When assertions are enabled an error window pops up each time an error is encountered. Otherwise a small icon start flashing in the main status bar and clicking the icon then brings up the error dialog.

  • The status bar notification shows a small icon starts flashing at the rightmost part of the main status bar when an exception occurs
  • The icon is flashing for 5 seconds, then it stays visible for another 30 seconds. Positioning the mouse pointer over the icon changes the default mouse cursor to 'hand' and stops the flashing. Icon's tooltip provides the exception message or the exception class name when no message is available. Single-clicking the icon brings up the exception dialog and the icon disappers. The exception dialog shows all exceptions encountered since the icon started flashing. When the exception dialog is closed via the Ok button, the exception list is cleared.
  • The exception dialog window 'remembers' (per IDE session) the status of the 'Show Details' flag. So when the dialog is displayed again, the last user's settings are reused.
  • When another exception is encountered while the icon is already flashing or visible, the flashing timer and the hide icon timer will restart.
  • When another exception is encountered while the exception dialog is visible, the exception message is displayed in the current dialog and the icon does not appear.
  • There's no tooltip nor any indication on status bar when the icon is not visible. Only a part of status bar area is reserved for the icon.
  • It is possible to switch the status bar notification off, e.g. for beta releases, by enabling assertions in JVM (-ea). Then each exception shows the exception dialog.

Group of branding interfaces
Interface NameIn/OutStabilitySpecified in What Document?
USE_AuthenticationExportedUnder Development

One can use branding to disable installation of NetBeans own Just brand org.netbeans.core.Bundle to say USE_Authentication=false

StaticNonProxyHostsExportedUnder Development

Some applications may want to proxy connections to localhost (which by default uses direct connection in NetBeans Platform). One can change the default by branding org.netbeans.core.Bundle specify something else than StaticNonProxyHosts=localhost|


By default NetBeans based applications install their own EventQueue. One can suppress that since version 3.27 of org.netbeans.core module by branding key TimableEventQueue.install in org/netbeans/core/Bundle to false.

Group of systemproperty interfaces
Interface NameIn/OutStabilitySpecified in What Document?
netbeans.hack.50423ExportedPrivate .../issues/show_bug.cgi?id=50423

Set this property to true to workaround the bug #50423 which appears on some linuxes on JDK 1.5.

Set this property to true if you do want to cleanup the module system, but not call System.exit at the end. Used from NbModuleSuite from nbjunit library.


This module contains a hook to identify long running tasks inside the AWT dispatch thread. It observers the AWT event queue and if a task takes longer than expected, it invokes a sampler that creates a profiling snapshot of the IDE until the task returns back to the event queue. Time limits can be configured via system properties (in milliseconds):
  • org.netbeans.core.TimeableEventQueue.quantum=xyz - for how long the event queue must be blocked to start the self-sampler (by default 100ms),
  • - total time of blocked event queue to report a problem (by default 3s),
  • org.netbeans.core.TimeableEventQueue.waitcursor=xyz - time for which a problem is not reported if mouse wait cursor is in place (by default 15s),
  • org.netbeans.core.TimeableEventQueue.pause=xyz - time after reporting a problem for which the detection is disabled (by default 15s).
In production builds the default time limits are different (10s to start sampler, 20s to report a problem).

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
KeymapsExportedUnder Development

Keymaps folder contains subfolders for individual keymaps (Emacs, JBuilder, NetBeans). The name of keymap can be localized. Use "SystemFileSystem.localizingBundle" attribute of your folder for this purpose. Individual keymap folder contains shadows to actions. Shortcut is mapped to the name of file. Emacs shortcut format is used, multikeys are separated by space chars ("C-X P" means Ctrl+X followed by P). "currentKeymap" property of "Keymaps" folder contains original (not localized) name of current keymap.

ShortcutsExportedUnder Development

This folder contains registration of shortcuts. Its supported for backward compatibility purpose only. All new shortcuts should be registerred in "Keymaps/NetBeans" folder. Shortcuts installed ins Shortcuts folder will be added to all keymaps, if there is no conflict. It means that if the same shortcut is mapped to different actions in Shortcut folder and current keymap folder (like Keymap/NetBeans), the Shortcuts folder mapping will be ignored.

Group of preferences interfaces
Interface NameIn/OutStabilitySpecified in What Document?

key description read write
proxyHttpHost Host name of HTTP Proxy Y Y
proxyHttpPort Port of HTTP Proxy Y Y
proxyHttpsHost Host name of HTTPS Proxy Y Y
proxyHttpsPort Port of HTTPS Proxy Y Y
proxySocksHost Host name of Socks server Y Y
proxySocksPort Port of Socks server Y Y
proxyNonProxyHosts Ignore host list Y Y
useProxyAuthentication Proxy Server requires user authentication Y Y
proxyAuthenticationUsername Username for authentication on Proxy Server Y Y
proxyAuthenticationUsername Password for authentication on Proxy Server Y Y

Implementation Details

Where are the sources for the module?

The sources for the module are in the Apache Git repositories or in the GitHub repositories.

What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?


Read more about the implementation in the answers to architecture questions.

Skip navigation links
org.netbeans.core/2 3.68