Subir elementos en GridBagLayout

mnetbns
16 de Junio del 2005
Hola, alguien puede decirme como hacer que los componentes que añado en un GridBagLayout no se queden centrados??
Necesito recolocarlos en la parte superior del panel, unos debajo de otros.
Estoy utilizando NetBeans.
Muchas gracias.

rubece
16 de Junio del 2005
Algunos layout como GridBagLayout permite que se pase un segundo parámetro junto al componente indicando detalles de como colocar el componente y otras cosas. Con GridBagLayout puedes pasar un objeto de tipo GridBagConstraints que tiene todos sus parámetros (o la mayoría) públicos. Uno de ellos es anchor donde puedes decidir como colocar el componente en la casilla en la que está. Tienes unas constantes para ello, que son:

GridBagConstraints.NORTH -> arriba
GridBagConstraints.SOUTH -> abajo
GridBagConstraints.WEST -> izquierda
GridBagConstraints.EAST -> derecha
GridBagConstraints.NORTHWEST -> arriba izquierda
GrigBagConstraints.NORTHEAST -> arriba derecha
GridBagConstraints.SOUTHWEST -> abajo izquierda
GridBagConstraints.SOUTHEAST -> abajo derecha
GridBagConstraints.CENTER -> centro (por defecto)

Para que te quede más claro se usa así:

import javax.swing.GridBagLayout;
import java.awt.GridBagConstraints;

...

GridBagConstraints c = new GridBagConstraints();
c.anchor = GridBagConstraints.SOUTHWEST;
panel.add(componente, c);

...

componente se insertaría en la parte de abajo izquierda de su casilla en panel con el layout GridBagLayout. Eso es todo. Que te vaya bien. Hasta luego.

chuidiang
16 de Junio del 2005
Hola:

No he probado nunca con netbeans, pero lo normal es que haya algún sitio donde puedas fijar una serie de parámetros para la posición del componente (el GridBagConstraints que te comentan). Esos parámetros son como gridx, gridx, fill, anchor, etc.

En http://www.geocities.com/chuidiang/java/layout/GridBagLayout/GridBagLayout.html tienes un pequeño tutorial sobre el gridbaglayout

Se bueno.