GridBagLayout适用于更高的分辨率,但不适用于更低的分辨率

时间:2013-06-06 16:47:26

标签: java swing resolution layout-manager

我使用GridBagLayout将我的游戏菜单置于jframe中心,并且它在我的固定计算机上工作正常,屏幕分辨率为1920x1080但是当我使用完全相同的代码但在我的笔记本电脑上菜单从未出现。< / p>

这是将菜单添加到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());
        }

为什么它不能以较低的分辨率工作?如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

每当GridBagLayout没有足够的空间容纳每个子组件的首选大小时,它会将每个组件设置为其最小大小。尝试添加menu.setMinimumSize(menu.getPreferredSize())