1

我正在制作一个数独程序,我想为我的 JFrame 更改 My GridLayout 的间距。目前有2个JPanel,一个在上面,一个在下面,间距正好是一半。但是,我希望顶部 JPanel 在 JFrame 上有更多空间。我的代码是这样的:

    import java.awt.GridLayout;

    import javax.swing.BoxLayout;
    import javax.swing.JFrame;


    public class GuiFrame1 extends JFrame {
    private static final long serialVersionUID = 1L;
    private static JFrame frame;
    static GridLayout gLayout2 = new GridLayout(2,1);
    private GuiPanel2 panel;
    private GuiPanel1 panel2;
    public GuiFrame1(){

    super("Sudoku");
    setSize(700, 700);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(gLayout2);
    panel = new GuiPanel2();
    panel2 = new GuiPanel1();
    setVisible(true);
    add(panel);
    add(panel2);


    }
    public static void main(String[] args) {
        new GuiFrame1();
    }

    }

如果您需要 JPanel 类,可以安排。

4

1 回答 1

1

IIRC你不能这样做。您应该尝试通过将其放置在其他布局类型中来“模拟”这一点——通常(总是?)您可以通过将布局类型相互堆叠来实现您想要的任何布局。但是网格布局本身,我很确定,必须在任何地方都有相同的尺寸。

或者,GridBagLayout可能对您有用,但没有它也可以完成。

当我遇到同样的问题时,我记得“破解”一个结合了边框和网格布局的解决方案......也可能使用了其他布局。

于 2013-10-24T19:51:45.920 回答