problemas con GridBagLayout

efa
05 de Agosto del 2005
Hola,
Estoy intentando hacer una pantalla con JinternalFrame y con JDesktopPane cuyo layout sea un GridBagLayout y la verdad es que me está dando muchos problemas. Si alguien está puesto en el tema a ver si me puede echar un cable. Os mando el código que aunque es un poco tonto vale para saber como funciona esto. Gracias

public static LayoutManager anadirBotonesGridBag()
{
JButton boton1 = new JButton ("boton1");
JButton boton2 = new JButton ("boton2");
JButton boton3 = new JButton ("boton3");
JButton boton4 = new JButton ("boton4");
JButton boton5 = new JButton ("boton5");
JButton boton6 = new JButton ("boton6");
JButton boton7 = new JButton ("boton7");
JButton boton8 = new JButton ("boton8");
JButton boton9 = new JButton ("boton9");
JButton boton10 = new JButton ("boton10");
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill=GridBagConstraints.BOTH;
gbc.weightx=1.0; //especifica como se distribuye el espacio extra horizontal
gbl.setConstraints(boton1,gbc);
gbl.setConstraints(boton2,gbc);
gbl.setConstraints(boton3,gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER; //final de fila
gbl.setConstraints(boton4,gbc);
gbc.weightx=0.0;
gbl.setConstraints(boton5,gbc);
gbc.gridwidth= GridBagConstraints.RELATIVE; //siguiente al ultimo
gbl.setConstraints(boton6,gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbl.setConstraints(boton7,gbc);
gbc.gridwidth=1;
gbc.gridheight=2;
gbc.weighty=1.0;
gbl.setConstraints(boton8,gbc);
gbc.weighty = 0.0; //reset to the default
gbc.gridwidth = GridBagConstraints.REMAINDER; //end row
gbc.gridheight = 1; //reset to the default
gbl.setConstraints(boton9,gbc);
gbl.setConstraints(boton10,gbc);

return gbl;
}
public void prueba()
{
pDesk = new JDesktopPane();
JInternalFrame jPrueba = new JInternalFrame("prueba");
jPrueba.setBackground(Color.yellow);
jPrueba.getContentPane().setLayout(anadirBotonesGridBag());
jPrueba.setIconifiable(true);
jPrueba.setClosable(true);
jPrueba.setResizable(true);

jPrueba.pack();
jPrueba.setVisible(true);
jPrueba.setSize(new Dimension(550,150));
jPrueba.setLocation(new Point (22,13));
this.getContentPane().add(pDesk);
pDesk.add(jPrueba);

}