Marcelo Glasberg
Marcelo Glasberg

Reputation: 30879

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

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?

Upvotes: 12

Views: 8747

Answers (3)

cyborck
cyborck

Reputation: 41

Use

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

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

Upvotes: 4

Jeremie
Jeremie

Reputation: 1307

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

Upvotes: 8

Adam
Adam

Reputation: 36703

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

Upvotes: 17

Related Questions