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));
我试图在 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));