Provides ErrorManager - the central place for logging and reproting failures in NetBeans based system.
A set of utility classes covering a few general infrastructure points in the Open APIs.
There are several types of standard actions that should be used for many user interactions within NetBeans.
NetBeans uses special extensions to data transfer.
This module contains general classes needed in NetBeans, extensions to basic JRE contepts, useful methods and other UtilitiesAPI classes.
Added a variant actionsToPath that instantiates context-bound actions if the registered action(s) implements ContextAwareAction. Improves consistency with actionsToPopup that supports contextual actions.
findDialogParent to provide a parent component for standard swing dialog displayers
This method first checks
KeyboardFocusManager, then uses an active frame.
As a part of the effort to make NetBeans look better on HiDPI displays, the ImageUtilities class has now been completely updated to support scalable implementations of the java.awt.Icon interface, and to support loading of icons and images from SVG files. If an SVG file resource exists with the same base name as an existing bitmap icon, the SVG file will be loaded instead (e.g. "icon.svg" will be loaded instead of "icon.png"). SVG file resources can also be loaded explicitly.
To avoid bloating the core platform modules with large JAR libraries, the actual loading and parsing of SVG files is implemented in a separate, optional module, which is lazily loaded the first time that an SVG file is encountered for loading. A new interface SVGLoader has been added to serve as an SPI for said module to implement. Furthermore, the CachedHiDPIIcon helper class has been made public to assist in the implementation of this and other scalable Icon implementations.
It is now increasingly common for NetBeans to run on Windows, Linux, or MacOS machines with so-called "HiDPI" screens, aka. "retina" screens in the Apple world. These screens have about twice the physical pixel density of traditional screens, making it necessary to scale GUI graphics up by some amount, e.g. 150% or 200% (depending on OS and OS-level user settings), in order to remain readable. Since Java 9, this scaling is done automatically by AWT by means of a scaling default transform in each Component's Graphics2D instances. This makes text sharp on HiDPI screens, but leaves bitmap icons blurry.
This change introduces a new abstract class VectorIcon, which can be extended to create custom-painted Icon instances that will look sharp on HiDPI screens, regardless of scaling level. See VectorIcon's Javadoc for a discussion of appropriate use cases.
If you are interested in logging from inside your module, or in writing your own log handler or in configuring the whole system, then best place to start is the NetBeans logging guide.
Read more about the implementation in the answers to architecture questions.