Limitations of the Renderers

The tables below summarize the limitations of the three basic renderers used in the Java Native Rendering library. Each renderer masks some of its limitations using simulated rendering. The use of simulated rendering is documented along with the limitation. This list applies to macOS 10.10 (Yosemite), 10.11 (El Capitan), and 10.12 (Sierra); it may change for future releases.

Limitations common to all renderers

Progress bars on macOS have only one size variant. Addressed by ignoring the size variant.
Mini sized square pop up buttons (non editable combo boxes) and sliders are not supported. The small size is substituted.
Table header cells cannot be painted without a background. Tall table header cells cannot be painted without a top and bottom border. Simulated.

Limitations of the native view renderer

Animated transition effects cannot be implemented, because there is no public API to render a specific animation frame. This limitation affects disclosure triangle buttons and indeterminate progress bars. A crude simulation of indeterminate progress bars exists.
Unable to paint overlay scroll bars, because they are implemented as an animated transition. Simulated.
Unable to paint a legacy scroll bar without a track. Not simulated.
Unable to paint a text field frame without a background. Not simulated.
Unable to paint a search field without a cancel button and without a prompt. Not simulated.
The cancel button of a search field is too dark. Not simulated.
Unable to display an active title bar button when the title bar is inactive. Simulated.
The round inset, round textured, and push inset2 button styles are not supported. Not simulated.
Paints the wrong rollover background color for a recessed pop up or pull down button. Not simulated.
The recessed pop up button arguably paints the wrong color arrow in the rollover state.
Editable combo box pressed state does use the proper button color. Not simulated.
Segmented button pressed state does use the proper button color. Not simulated.
Color well button pressed state does not use the proper border color. Not simulated.
Gradients are not supported. Not simulated.
The table header cell does not support right-to-left layout direction. Simulated.
A determinate progress bar always uses the layout orientation of the application localization. Not simulated.
Right-to-left search fields are not supported. Not simulated.
Unable to paint a vertical progress bar. Not simulated.
Internal frame title bars do not paint an accurate resize button icon. Simulated.
The darker color for a legacy scroll bar in the pressed or rollover state is not supported. Not simulated.

Limitations of the native rendering framework renderer

The inline button style is not accurately rendered. Not simulated.
The recessed pop up button arguably paints the wrong color arrow in the rollover state. Simulated.
Table cell headers in right to left orientation are not supported. Simulated.
The color well button style is not supported. Simulated.

Limitations of the JDK renderer

The inline, gradient, and round textured button styles are not accurately rendered. Not simulated.
The textured style of pop up button is not accurately rendered. Not simulated.
Toolbar specific rendering of textured controls is not supported. Not simulated.
There are small rendering problems in segmented buttons. Not simulated.
Some styles of combo boxes and popup buttons do not support right-to-left orientation. Partially simulated.
Pull down menu arrows are not supported for some button styles. Simulated.
The recessed pop up button arguably paints the wrong color arrow in the rollover state. Simulated.
The wrong color is used for an inactive title bar button on an active title bar. Not simulated.
Some styles of segmented button dividers are too thin on a HiDPI display. Not simulated.
Only a few gradient styles are supported. Not simulated.
The cell style of combo box paints the arrows using the wrong color when disabled. Not simulated.
Slider track highlighting is not supported. Not simulated.
Determinate progress bars always use left to right orientation. Not simulated.
Table cell headers in right to left orientation are not supported. Simulated.
Right-to-left search fields are not supported. Not simulated.
The animation of indeterminate progress bars is not supported. A poor simulation exists.
Internal frame title bars do not support the full screen rollover icons. Not simulated.
The color well button style is not supported. Not simulated.
The darker color for a legacy scroll bar in the pressed or rollover state is not supported. Not simulated.