Vibrant Backgrounds

Beginning with 10.10 (Yosemite), support was added to macOS for two kinds of vibrant backgrounds. VAqua supports the behind-window style of vibrant background, where the background of a window or component is a blurred and blended version of the unseen content that conceptually resides behind the window. VAqua supports vibrant backgrounds by default for tables that use the sidebar style, pop up menus, and windows displayed as sheets. VAqua also allows the developer to specify vibrant backgrounds for windows, panels, viewports, and custom popups.

Vibrant Windows and Components

A vibrant background for a window can be specified using the Aqua.backgroundStyle client property on the JRootPane. A vibrant background for a JPanel or a JViewport is specified using the Aqua.backgroundStyle client property on the component.

Supported values for the Aqua.backgroundStyle client property are:

These values map to the most appropriate available vibrant material.

When a vibrant background is specified for a window or a component, subcomponents in the hierarchy under that window or component may also display the vibrant background by default. The components that support this feature are JOptionPane, JPanel, JScrollPane, JSplitPane, JTabbedPane, JToolBar, and JViewport. This feature is overridden for a component either by setting the opaque property of the component to false or by installing a custom background color on the component.

Vibrant Popups

Custom popups (explicitly created using the shared PopupFactory) can be configured to use a vibrant background by setting the AquaPopup.backgroundStyle client property on the content component of the popup to one of the values listed above. In addition, a popup can be configured to have rounded corners by setting the AquaPopup.cornerRadius property to default to use a default corner radius or a number to specify a corner radius in points (display independent pixels).