相同屏幕分辨率下的 Java 布局差异

标签 java swing user-interface layout screen-resolution

我有两个使用相同分辨率 (1280x1024) 的屏幕,但其中一个的刷新率为 59.9 HZ,另一个的刷新率为 75 HZ。我有一个使用 Java 开发的完整软件(在 OpenSuse 10.0 下运行)。问题在于该软件中的 Jtable 在两个屏幕上的显示方式不同:它们在一个屏幕上完美显示,而在另一个屏幕上,列的宽度不断增加,从而隐藏了一些列。 我能够从两个屏幕获得的另一个区别是当我使用 Toolkit.getDefaultToolkit().getScreenResolution() 时,它在“良好显示”屏幕上为我提供了 93,在“不良显示”屏幕上为我提供了 95。

我的问题是,为什么使用相同分辨率的两个屏幕会以不同的方式显示 GUI 组件?它与屏幕的刷新率或 DPI 是否有关系?

最佳答案

检查您可用的字体。逻辑字体名称(serif、sansserif、monospaced、dialog、dialoginput)是根据计算机上可用的字体创建的。

根据 Font javadoc :

Typically, each logical font name maps to several physical fonts in order to cover a large range of characters.

因此,如果可用字体不匹配,Java 可能会替换不同的物理字体字符。这可能会导致您所描述的行为。

关于相同屏幕分辨率下的 Java 布局差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371559/

相关文章:

java - 基于Windows的应用程序通过JAVA中的变量访问对象

java - Clojure:类 CSS/DOM 的 Java UI

android - 播放运行服务器 url 音频的媒体播放器时,UI 更改停止

jquery - 如何将菜单选项置于所有 DIV 的前面

java - 如何让一个函数每 2 个刻度被调用一次

java - 有 JNDI namespace 约定吗?

java - JGraphX 图中边不可见

javascript - angular2 spring-boot项目结构

java - 如何设置组件的DataFlavor?

java - 如何用方向键移动矩形?