【发布时间】:2015-08-26 19:07:11
【问题描述】:
我目前正在开发一个涉及 Swing GUI 的小型 Java 应用程序。在我的开发 PC 上一切看起来都很好,但是当我在我的 MS Surface 上运行它时,一些图标对于组件来说似乎太大了(或者对于图标来说组件太小了)。
这就是我的意思:
Google 研究使我得出结论,这是由于 Surface 的高分辨率和 Win8 的缩放让某些项目显得更大一些。所以我将缩放重置为 100%,它实际上修复了不良缩放。
不幸的是,这并不能真正解决我的问题。没有缩放,一切都太小了,所以我宁愿不禁用它。但是有什么聪明的方法可以解决这个问题吗?我可以“取消缩放”我的程序或 Java 的图标吗?理想情况下,我什至想要放大整个框架,因为一切都相当小。
编辑:显然,我也尝试过调整实际 JFrame 的大小,但它对对话框大小没有影响。我通过
调用对话框JOptionPane.showMessageDialog(frame, msg, "Information", JOptionPane.INFORMATION_MESSAGE);
顺便说一句。
【问题讨论】:
-
Oracle 不太可能为 Swing 添加高分辨率。你可以试试 JavaFX 或Apache Pivot。
-
1.这些图标(分布在 Java 包中,在 UIManager 中初始化)具有固定的像素大小,2. 它不会对 Win8/8.1 显示设置中的图标大小做出反应,3. 可能是 Surface 的具体问题,you can to test
标签: java swing windows-8.1 scaling screen-resolution