setLayaut нет ответа на правильность Hgap
Я пытался создать графический интерфейс для игры тральщика в 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 ответ
Решение
Я решил проблему с отрицательным значением в уместности Hgap. Возможно, проблема в ОС. Я использую iOS.
panelTablero.setLayout(new GridLayout(filas, columns, -5, -5));