【发布时间】:2016-12-16 13:25:41
【问题描述】:
我编写了一个 GUI 应用程序,每个 shell 都使用GridLayout。在为 1280*1024 屏幕编写之后,我意识到我应该让它在每个显示器上都可用,所以我添加了一个根据显示分辨率转换每个元素的高度和宽度的方法:
public static int widthconverter(double x){
int width = 0;
width=(int) ((x/1280.0)*screenWidth);
return width;
}
public static int heightconverter(double x){
int height = 0;
height=(int) ((x/1024.0)*screenHeight);
return height;
}
这并不像我想要的那样工作。例如,使用 800*600 分辨率时,外壳会调整大小,但宽度和高度有点太小,无法覆盖所有包含的元素。转到 4K 显示它也不能按需要工作。
非常感谢任何解决此问题的想法。
【问题讨论】:
-
如前所述,我对所有 shell 都使用了 GridLayout。
-
如果您认为某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的旧帖子上。
-
抱歉,没有解决我的问题的答案。还是要谢谢你的帮助。同时我自己想通了:
-
不需要调整字体大小,但是对于外壳和标签和文本字段,我编写了一个根据屏幕分辨率转换宽度和高度的方法(见上文)。唯一缺少的是一个占宽度和高度比例的比例因子(在 1280/1024=1.25 的情况下)。
标签: java user-interface resize swt display