【发布时间】:2016-11-11 19:46:42
【问题描述】:
因此,对于一个学校项目,我用 Java 制作了一本成绩册。创建 gui 时,我在 setBounds() 方法中使用了硬编码值。现在,当我的屏幕分辨率为 1024×768 时,它看起来还不错,但是当我买了一台新笔记本电脑并且它的屏幕为 4k 时,它在我运行程序时看起来超级小。
所以我的问题是有没有办法动态改变Jframe 和框架上所有相关对象的大小,使其与屏幕分辨率相匹配?
我知道你可以从这里得到屏幕分辨率
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double width = screenSize.getWidth();
double height = screenSize.getHeight();
但我不知道最好的方法是什么。
【问题讨论】:
-
只需插入一个您觉得合适的窗口/屏幕比例并设置 JFrame 大小。 PS:如果你正在寻找在运行时设置窗口大小(在它被绘制之后),你必须在 Swing 线程上调用 revalidate() 和 repaint()。
-
停止使用 setBounds()。使用布局管理器。正如所有挥杆教程中所解释和推荐的那样。 docs.oracle.com/javase/tutorial/uiswing/layout/index.html
-
了解如何使用布局管理器。设置尺寸不是要走的路。
标签: java