How to disable scaling the UI on Windows, for Java 9 applications?
Asked Answered
E

3

12

There was no proper HiDPI support in Java 8.

In Java 9, JavaFx applications correctly scale to the monitor they are in. For example, if my monitor is set to scale at 150%, the Java application is scaled to 150%.

See: http://openjdk.java.net/jeps/263

However, for testing purposes, I need to be able to disable scaling by using java.exe flags, in Windows 10. How can I achieve this?

Also, maybe I can disable (and re-enable) this programmatically within the application itself?

Expectorant answered 2/12, 2017 at 21:56 Comment(3)
Do you not find any similar configuration on Windows as mentioned in this answer?Swihart
@nullpointer Sure, but I need to do it through java.exe flags, not through a configuration on Windows.Expectorant
Possible duplicate of JFrame scaling in Java 9Holily
H
16

I found this obscure option in a substance bug report. This fixes the issue for Swing applications.

-Dsun.java2d.uiScale=1.0

If you're using JavaFX you'll need

-Dprism.allowhidpi=false

Unfortunately I cannot find official documentation for either of these options

Holily answered 5/2, 2018 at 12:53 Comment(1)
System.setProperty("sun.java2d.uiScale", "1.0"); worked for me with JDK 11 and Swing, thanks!Immaculate
M
7

if needed, found another couple of helpful JVM parameters from that website :

-Dsun.java2d.uiScale.enabled=false
-Dsun.java2d.win.uiScaleX=1.0 -Dsun.java2d.win.uiScaleY=1.0
Magalymagan answered 18/12, 2019 at 11:42 Comment(0)
P
4

Use

System.setProperty( "sun.java2d.uiScale", "1.0" );

in your java code, that worked for me (JDK 17).

Pressurecook answered 12/11, 2021 at 16:5 Comment(2)
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.Hummer
Does not work for me on Windows 7 and JRE 9.0.4 for some reasonArvad

© 2022 - 2024 — McMap. All rights reserved.