3 import java.awt.Toolkit;
5 public class HiDPISetting
7 public static final int dpi;
9 public static final int scale;
11 private static final int hidpi = 110;
13 private static final String scaleProperty = "sun.java2d.uiScale";
15 private static final boolean isAMac = System.getProperty("os.name")
18 private static final boolean isLinux = System.getProperty("os.name")
19 .toLowerCase().indexOf("linux") > -1;
21 private static final boolean isWindows = System.getProperty("os.name")
22 .toLowerCase().indexOf("windows") > -1;
26 dpi = Toolkit.getDefaultToolkit().getScreenResolution();
27 scale = dpi / hidpi + 1;
28 if (scale > 1 && isLinux)
30 System.out.println("DPI detected as " + dpi
31 + ". Scaling factor set to " + scale + ".");
35 public static String getScalePropertyArg()
37 // HiDPI setting. Just looking at Linux to start with. Test with Windows.
44 return "-D" + scaleProperty + "=" + scale;