Bom dia Ismarco.
Negativo. O GridBaLayout voce informa quatro tipo de coordenadas númericas da classe GridBagConstraints que são:
gridx = Posição da coluna que o componente ocupa.
gridy = Posição da linha que o componente ocupa.
gridwidth = Quantidade de colunas que o componente ocupa.
gridheight = Quantidade de linhas que o componente ocupa.
Para voce ter uma idéia de como se configura o GridBagLayout, eu criei uma classe da qual e a utilizo bastante, a classe abaixo:
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JPanel;
public class ContentLayout extends JPanel {
// Definição do Layout e das restrições do Layout
private GridBagLayout layout;
private GridBagConstraints constraints;
// Definição das constantes
public final int horizontal = GridBagConstraints.HORIZONTAL;
public final int vertical = GridBagConstraints.VERTICAL;
public final int both = GridBagConstraints.BOTH;
public final int remainder = GridBagConstraints.REMAINDER;
public final int relative = GridBagConstraints.RELATIVE;
//Construtor do objeto (como o mesmo nome da classe)
public ContentLayout(){
layout = new GridBagLayout();
setLayout(layout);
constraints = new GridBagConstraints();
constraints.weightx = 1;
constraints.weighty = 1;
constraints.insets = new Insets(0,0,0,0);
}
public void addComponent(Component comp, int row, int column, int width, int height, int fill){
constraints.fill = fill;
constraints.gridx = column;
constraints.gridy = row;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints(comp, constraints);
add(comp);
}
public void addComponent(Component comp, int fill, int width){
constraints.fill = fill;
constraints.gridwidth = width;
constraints.weightx = 1;
constraints.weighty = 1;
layout.setConstraints(comp, constraints);
add(comp);
}
public void setDimension(int w, int h){
size = new Dimension(w,h);
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
}
Voce deve utilizar esta classe desta maneira:
public class MinhaClasse extends JFrame {
public MinhaClasse(){
.......
setContentPane(getContainer());
......
}
public ContentLayout getContainer(){
ContentLayout layout = new ContentLayout();
layout.setDimension(700,220);
/*Label nome ocupando espaço na linha 0, coluna 0
ocupando uma coluna e um linha respectivamente
de modo a ocupar toda a célula no sentido horizontal
caso haja espaço na célula. */
JLabel lblNome = new JLabel("Nome");
layout.addComponent(lblNome, 0,0,1,1,layout.horizontal);
......
.....
// Retorno de tela
return layout;
}
}
Vale lembrar que as constantes Horizontal, Vertical e Both servem para reajustar o componente na célula, caso haja espaço na mesma, de maneira horizontal, vertical ou ambas (both)