Falsche Werte mit Java Toolkit Screensize

Bitte aktiviere JavaScript!
Ich benutze Win10 , Eclipse und Java SE 1.8
Mit eingestellter Auflösung von 1920x1080 erhalte ich mit folgendem Code diese Ausgabe.

java.awt.Dimension[width=1280,height=720]


Java:
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        System.out.println(screenSize);
Wer kennt den Grund für diese Abweichung?
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Hast du DPI-Scaling an? Ich würde vermuten, ja. Denn dann würde ein Wert von 150% raus kommen.
 
Ja habe ich soeben festgestellt. Das ist die Ursache.
Wie kann ich mit eingestelltem Scaling trotzdem den korrekten Wert erhalten ?
 
Finde nur das hier: https://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display
Damit schaltest du scaling allerdings ab...

Vielleicht kannst du das mit dem hier kombinieren https://docs.oracle.com/javase/9/docs/api/java/awt/Toolkit.html#getDesktopProperty-java.lang.String-
Dann daraus den aktuellen Wert auslesen?
Ansonsten sieht das hier vielversprechend aus: https://kynosarges.org/GuiDpiScaling.html -> AWT/Swing (Java 9) -> dort gibt es ein paar Varianten, wie man es mit AWT/Swing auslesen kann.

In JavaFX ist es (mittlerweile) etwas einfacher - findest du alles in dem Artikel. Der Kollege Kynosarges beschäftigt sich schon eine gute Weile mit dem HiDPI-Scaling-Problemen, die Java allgemein und JavaFX im speziellen lange hatte. Habe seinen Blog diesbezüglich schon länger verfolgt.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben