2

我使用 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());
        }

为什么它不适用于较低的分辨率,我该如何解决这个问题?

4

1 回答 1

1

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

于 2013-06-06T16:57:49.560 回答