Wie finde ich die tatsächliche Anzeigedichte (DPI) aus Java-Code?

Ich mache ein paar Sachen zum Rendern auf niedriger Ebene, aber ich muss die richtige DPI für die Anzeige kennen, damit alles die richtige Größe hat.

Ich habe einen Weg gefunden, dies zu tun:java.awt.Toolkit.getDefaultToolkit().getScreenResolution() - aber es gibt ein falsches Ergebnis unter OS X mit "Retina" -Display zurück, es ist die Hälfte der tatsächlichen DPI. (In meinem Fall sollte es 220 sein, aber es ist 110)

So muss entweder eine andere, korrektere API verfügbar sein, oder ich muss alternativ einen Hack nur für OS X implementieren - finde irgendwie heraus, ob die aktuelle Anzeige "Netzhaut" ist. Aber ich konnte auch keine Möglichkeit finden, diese Informationen abzufragen. Es gibtdiese Antwort aber auf meiner MaschineToolkit.getDefaultToolkit().getDesktopProperty("apple.awt.contentScaleFactor") gibt nur null zurück.

Wie kann ich es tun

Antworten auf die Frage(4)

Ihre Antwort auf die Frage