我使用 GridBagLayout 将我的游戏菜单置于 jframe 的中心,它在我的屏幕分辨率为 1920x1080 的固定计算机上运行良好,但是当我使用完全相同的代码但在我的笔记本电脑上时,菜单永远不会显示。
这是将菜单添加到 jframe 的代码:
frame.setLayout(new GridBagLayout());
if(menu.checkGame() == false){
menu.setLayout(null);
menu.setBackground(new Color(0, 0, 0, 0));
menu.setPreferredSize(new Dimension(1400, 1080));
load.setBackground(true);
frame.add(menu, new GridBagConstraints());
}
为什么它不能在较低的分辨率下工作,我该如何解决这个问题?
最佳答案
每当 GridBagLayout 没有足够的空间容纳每个子组件的首选尺寸时,它会将每个组件设置为其最小尺寸。尝试添加 menu.setMinimumSize(menu.getPreferredSize())
。
关于java - GridBagLayout 适用于更高的分辨率,但不适用于更低的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967726/