Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable

Hendrik Schreiber hs at
Fri Mar 21 09:36:52 UTC 2014

On Jan 17, 2014, at 13:07, Hendrik Schreiber <hs at> wrote:

> On Jan 13, 2014, at 12:54, Hendrik Schreiber <hs at> wrote:
>> Hey Sergey,
>> bug is filed under "(Bug ID: 9009584 ) - Checkmarks of JCheckBoxMenuItems aren't rendered in high res on Retina"
>> While at it, you might also want to take a look at "(Bug ID: 9009344 ) - JPopupMenus in Swing don't have rounded corners on OS X".
> Sergey,
> I just realized that sub-menues in JPopupMenus also uses a low res arrow ">". I guess this is part of the same issue.
> Perhaps you want to add a comment to the original bug 9009584...

Hey Guys,

I am very pleased to see that was addressed in JDK8u20-ea.
Unfortunately, at least one icon was (partially) missed - the expand tree control (that little triangle).

It is rendered in HiDPI, when you click on it, but in its regular appearance it is low res.

The problem occurs on OS X 10.9.2 with

java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b05, mixed mode)



Source code to illustrate the issue - a plain vanilla JTree. Just play with the expansion triangles.

import javax.swing.*;
import java.awt.*;

public class TreeExpanders {

    public static void main(String[] args) {
        final JFrame frame = new JFrame();
        final JTree tree = new JTree();
        frame.getContentPane().setLayout(new BorderLayout());
        frame.getContentPane().add(tree, BorderLayout.CENTER);
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                frame.setBounds(200, 200, 200, 200);

More information about the macosx-port-dev mailing list