setLayaut 不响应property Hgap

setLayaut no respond to propriety Hgap

我试图在 java 中为扫雷游戏创建一个界面图形,但是当我用 JButton 绘制 gridLayaut 时,我希望按钮被卡住,但我无法获取,并且按钮是分开的。 这是我的代码:

    panelTablero.setLayout(new GridLayout(filas, columns,0,0));
    ReceptorBotones recepCelda = new ReceptorBotones();
    for (int x = 0; x < this.filas; x++) {
        for (int y = 0; y < this.columns; y++) {
            BotonCelda b = new BotonCelda(x, y);
            b.addMouseListener(recepCelda);
            panelTablero.add(b);
        }
    }
    panelTablero.revalidate();
    panelTablero.repaint();
    Container cp = getContentPane();
    cp.add(panelTablero, BorderLayout.CENTER);

结果是 enter image description here

这是完整的方法: 私人无效 pintarPanelTablero(NivelJuego pNivel){

    this.filas = pNivel.get_alto();
    this.columns = pNivel.get_ancho();
    this.minas = pNivel.get_numMinas();
    this.minasRestantes = this.minas;

    // panel de tablero
    switch (nivelJuegoEnCurso) {

// window的大小取决于游戏的等级 情况1: setBounds(20, 20, 535, 535);

        break;
    case 2:
        setBounds(20, 20, 800, 800);
        break;
    case 3:
        setBounds(20, 20, 1100, 1100);
        break;
    }

    panelTablero.removeAll();

    panelTablero.setLayout(new GridLayout(filas, columns));
    ReceptorBotones recepCelda = new ReceptorBotones();
    for (int x = 0; x < this.filas; x++) {
        for (int y = 0; y < this.columns; y++) {
            BotonCelda b = new BotonCelda(x, y);
            b.setMargin(new Insets(0,0,0,0));
            b.addMouseListener(recepCelda);
            panelTablero.add(b);

        }
    }
    panelTablero.revalidate();
    panelTablero.repaint();
    Container cp = getContentPane();
    cp.add(panelArriba, BorderLayout.NORTH);
    cp.add(panelTablero, BorderLayout.CENTER);

    setVisible(true);
}

我解决了 propriety Hgap 中负值的问题。 OS 可能是问题所在。我正在使用 iOS.

panelTablero.setLayout(new GridLayout(filas, columns, -5, -5));