JFrame 缩放 Java 9

JFrame scaling in Java 9

完全相同的代码运行 Java 下Java 左边9u4 右边8u144 Windows 7.

Java 9 似乎使 window 变大了。是什么原因造成的 - JEP 263?我怎样才能禁用它?

public class SimpleFrame {
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.getContentPane().add(new JLabel("Horse"));
        frame.setSize(new Dimension(200, 100));
        frame.setVisible(true);
    }
}

我在 substance bug report 中发现了这个晦涩的选项。这解决了 Swing 应用程序的问题。

-Dsun.java2d.uiScale=1.0

如果您使用的是 JavaFX,则需要

-Dprism.allowhidpi=false

很遗憾,我找不到这两个选项的官方文档