Java setLayaut未对适当的Hgap作出响应

Java setLayaut未对适当的Hgap作出响应,java,swing,awt,layout-manager,grid-layout,Java,Swing,Awt,Layout Manager,Grid Layout,我试图用java为扫雷游戏创建一个界面图形,但是当我用JButton绘制gridLayaut时,我想按钮被卡住了,但是我无法得到它,按钮被分开了。 这是我的代码: panelTablero.setLayout(new GridLayout(filas, columns,0,0)); ReceptorBotones recepCelda = new ReceptorBotones(); for (int x = 0; x < this.filas; x++) {

我试图用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);
//窗口的大小取决于游戏的级别 案例1: 挫折(20,20,535,535)

break;
案例2:
立根(20,20,800,800);
打破
案例3:
立根(20,20,1100,1100);
打破
}
panelTablero.removeAll();
panelTablero.setLayout(新网格布局(filas,columns));
ReceptorBotones recepCelda=新的ReceptorBotones();
对于(int x=0;x
我用property Hgap中的负值解决了问题。操作系统可能是问题所在。我用的是iOS

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

BotonCelda
可能有填充或边距/插入,以抵消content@MadProgrammer这是对的。setMargins(新的Insets(0,0,0,0))是您正在寻找的答案。结果是一样的。这是我们能提供给你的最好建议——其他一切都是猜测——这只会浪费彼此的时间。这是我使用的完整方法:顺便说一句,通过“适当”(良好的行为或道德)DYM“财产”(某物的一个方面)或“所有权”(与所有权有关)?第一个词几乎肯定不是你的意思。不,我想说的是,本地外观填充了按钮-这可能来自
borderPainted
属性。我会小心使用负值,这可能会导致“其他”意想不到的问题-只是说
        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);
}
panelTablero.setLayout(new GridLayout(filas, columns, -5, -5));