I’ve found a Swing image rendering bug which afflicts only Macs with Retina displays (TYPE_INT_ARGB_PRE BufferedImages fail to draw). I have an effective workaround (use TYPE_INT_ARGB images instead), but in order to apply it, I need to be able to detect whether the host machine is a Mac with a Retina display. Detecting whether the machine is a Mac is no problem, but how can I determine the display type?
I’ve found a Swing image rendering bug which afflicts only Macs with Retina displays
Share
Toolkit.getDefaultToolkit().getDesktopProperty("apple.awt.contentScaleFactor")The above line should return
2.0on retina displays. On more recent non-retina macs it returns1.0and on all other platforms you get backnull. I can’t find any official documentation, but I ran across it in this mailing list post while trying to solve a similar problem.