我想用java语言在一个 JFrame
,我知道怎么做,但我现在有这个问题,我不知道´我不知道怎么解决。我试过很多东西,但都没用。
问题是图中标出的这些空位。
代码:
public class VentanaConsulta extends javax.swing.JFrame {
JLabel[] arreglo = new JLabel[16];
public VentanaConsulta(Sistema sistema, VentanaInicial ventanaInicial) {
this.modelo = sistema;
this.ventanaInicial = ventanaInicial;
initComponents();
IniciarComponentes();
}
private void IniciarComponentes() {
int[][] campo = {{1,2,3,4}, {0,0,0,0} , {0,0,0,0}, {0,0,0,0}};
setLayout(new GridLayout(4, 4));
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
arreglo[i] = new JLabel(Integer.toString(campo[i][j]));
arreglo[i].setHorizontalAlignment(SwingConstants.CENTER);
add(arreglo[i]);
}
}
}
1条答案
按热度按时间gpfsuwkq1#
您的图像显示,当您将容器的布局设置为4x4网格时,您将向该容器添加超过16个项目,这可能是由于您设置了错误的容器布局。您可能正在设置主jframe的contentpane的布局,向其中添加jlabel,并向其中添加其他内容,从而弄乱了网格的大小。
我建议您创建一个新的jpanel,一个用来保存jlabel网格,给它一个4x4网格布局,添加jlabel,然后将这个jpanel添加到主gui(jframe)或jframe中显示的容器中。
是的,arreglo数组索引的使用是错误的,因为您试图将整行添加到单个数组项中。e、 g.类似于: