Vor längerer Zeit habe ich über die Darstellungsprobleme von Java-Applikationen auf Retina-Displays von Apple in diesem Blogeintrag berichtet. Gut Ding will ja bekanntlich Weile haben und so hat dieses Problem nun auch seit längerem die Windows- (und vermutlich auch die Linux-) Welt erreicht.
Hochauflösende Displays auf aktuellen Windows-Rechnern wie bspw. am MS Surface Pro, oder auf externen 4K-Monitoren sind quasi nichts anderes als Retina-Displays auf Apple-Rechnern. Wenn nun also das Problem auf macOS oder den älteren Versionen von OS X in einer Konfigurationsdatei abgestellt werden kann, dann muss dies auf einem Windows-System ähnlich funktionieren.
Solange der folgende Fehler in den aktuellen Versionen des Open JDK nicht geschlossen ist, kann man sich mit einem kleinen Trick helfen:
- Zunächst lädt man sich ein Programm zur Manipulation von EXE-Manifesten herunter. Bspw. Resource Hacker oder Resource Tuner
- Jetzt wechselt man in das Verzeichnis der Java-Installation und sucht im bin-Verzeichnis die java.exe and javaw.exe und öffnet diese mit dem eben geladenen Programm
- Im Baumeintrag wählt man den Eintrag „Manifest“ aus und ändert den Schlüssel „dpiAware“ von
<dpiAware>false</dpiAware>
auf
<dpiAware>true</dpiAware>
- Anschließend muss die Exe-Datei neu kompiliert und gespeichert werden
- Zum krönenden Abschluss wird Windows neu gestartet!
Jetzt laufen Java-Anwendungen bis zum nächsten JDK-/JRE-Update auch mit hoher Auflösung. Sollte der Fehler im Open JDK dann irgendwann mal geschlossen werden, ist dieser Blogeintrag hinfällig.
emmmmm…
von true auf true!?!?!?
macht sinn auf false zu stellen oder????
Danke!, hab lange gesucht… muss jetzt nur funktionieren
Da hast freilich recht. Text entsprechend geändert.
Was lange währt, wird endlich gut. Ich kenne mehrere Nutzer, bei denen es funktioniert.
Wie ist denn der Stand mit einem aktualisierten Java 9?