Ciao a tutti, non capisco il motivo per cui venga lanciata un eccezione a puntantore null. Stavo scrivendo un semplice codice per imparare a usare il GridBagLayout. Lo posto di seguito:
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Finestra extends JFrame{
private GridBagLayout layout;
private GridBagConstraints constraints;
private JButton[] bottoni;
public Finestra() {
super("GridBagLayout");
layout = new GridBagLayout();
setLayout(layout);
constraints = new GridBagConstraints();
bottoni = new JButton[4];
for(int i = 0;i<bottoni.length;i++) {
bottoni[i] = new JButton("Bottone " + i);
i++;
}
constraints.fill = GridBagConstraints.BOTH;
addComponent(bottoni[0],0,0,0,0);
addComponent(bottoni[1],0,1,0,0);
addComponent(bottoni[2],1,0,0,0);
addComponent(bottoni[3],1,1,0,0);
}
private void addComponent(Component component, int row, int col, int width, int height) {
constraints.gridx = row;
constraints.gridy = col;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints(component, constraints);
add(component);
}
}