Java 9 中的 JFrame 扩展

2022-09-02 22:18:04

在Windows 7上,在左侧的Java 9u4和右侧的8u144下运行的代码完全相同。

different window sizes

Java 9似乎使窗口变大。导致这种情况的原因是什么 - 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);
    }
}

答案 1

我在物质错误报告中发现了这个晦涩难懂的选项。这修复了 Swing 应用程序的问题。

-Dsun.java2d.uiScale=1.0

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

-Dprism.allowhidpi=false

不幸的是,我找不到这两个选项的官方文档


答案 2

推荐