Java 9中的JFrame缩放

19

同样的代码在 Windows 7 上运行,左侧是 Java 9u4,右侧是 8u144。

不同的窗口大小

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
你可以尝试这个链接(https://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display/1207925#1207925)。也许只是缩放的问题。 - XtremeBaumer
@XtremeBaumer 谢谢,不幸的是我们可爱的IT部门已经禁用了这种神奇功能。 - Adam
类似的帖子 https://dev59.com/QFYN5IYBdhLWcg3wT21a - Naman
1个回答

13

我在Substance Bug报告中发现了这个晦涩的选项。 这将修复Swing应用程序的问题。

-Dsun.java2d.uiScale=1.0

如果您正在使用JavaFX,则需要

-Dprism.allowhidpi=false

不幸的是,我找不到任何官方文档来解释这两个选项。


请问一下,那个选项是否默认存在?如果是的话,它的值是多少? - XtremeBaumer
1
@XtremeBaumer 如果我能找到任何官方文档,我会这样做的 :) - Adam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接