setLayaut нет ответа на правильность Hgap - PullRequest
0 голосов
/ 11 мая 2018

Я пытался создать графический интерфейс для игры тральщика в java, но когда я рисую gridLayaut с помощью JButton, я хочу, чтобы кнопки застряли, но я не могу их получить, и кнопки были разделены.Это мой код:

    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);

И результат введите описание изображения здесь

Это полный метод: private void 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) {

// размер окна зависит от уровня игры 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);
}

1 Ответ

0 голосов
/ 11 мая 2018

Я решил проблему с отрицательным значением в проприетарных Hgap. Возможно, проблема в ОС. Я использую iOS.

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

image

...