【发布时间】:2019-10-01 18:25:02
【问题描述】:
我正在尝试了解如何在 JavaFX 中支持不同的分辨率。我正在寻找有关如何实现这一目标的指南。
我想创建一个应用程序,它需要最小分辨率,例如 1280×720。而且我希望我的应用程序在任何更高的分辨率(如 1920×1080)上也能正常显示。此外,应用程序在不同的 DPI 值下应该看起来不错。 我该怎么做?
让我们将 JDK 11.0.2+ 和 JavaFX 11.0.2+ 设置为更具体的最低要求。
我现在(似乎)明白了什么:
- 必须设置舞台的最小宽度和高度。
- 我不关心 DPI 支持,就像 it seems to be implemented。
我还是不明白:
- 如何设置元素的尺寸、缩进等。
- 是否应该为支持的最小分辨率设置像素值,然后根据当前分辨率乘以系数?
- 或者我应该将尺寸增加为屏幕宽度/高度的百分比?
- 或者我应该以完全不同的方式来做这一切?
- 我应该避免使用任何控件/布局吗?
我希望我已经足够清楚了。
我不熟悉为真实而非玩具应用程序创建界面。我将不胜感激任何帮助,无论是 cmets、解释、代码示例还是文章链接。
提前感谢您的帮助。
【问题讨论】:
-
这取决于您正在创建的应用程序的类型。如果应用程序由标准 UI 元素(如按钮、文本字段和表格)组成,答案是您什么都不应该做:只需使用布局类并让默认的首选大小计算为您完成工作。如果您正在制作游戏,则可能会稍微复杂一些,具体取决于您想做多少工作。
-
@VGR 我正在创建一个不是很复杂的客户端应用程序。所以是的,它由标准的 UI 元素组成。但我不太明白“默认首选大小计算”语句。例如,如果我有一个按钮,则需要调整其大小。而且这个尺寸对于不同的分辨率应该是不同的。