Foros del Web » Programación para mayores de 30 ;) » Java »

GridBagLayout

Estas en el tema de GridBagLayout en el foro de Java en Foros del Web. Hola, tengo un JPanel con un formulario, pero el GridBagLayout se empeña en poner todo en el centro del panel. He estado buscando pero no ...
  #1 (permalink)  
Antiguo 15/03/2006, 05:11
 
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 18 años, 10 meses
Puntos: 0
GridBagLayout

Hola, tengo un JPanel con un formulario, pero el GridBagLayout se empeña en poner todo en el centro del panel. He estado buscando pero no encuentro la forma de que me lo alinee en la esquina noroeste del panel.

Muchas gracias por su ayuda.

Saludos.
  #2 (permalink)  
Antiguo 24/04/2006, 15:25
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 1 mes
Puntos: 0
A mi me pasa exactamente lo mismo. Alguna ayuda? Porque es un verdadero fastidio tener los componentes en el centro del panel...
  #3 (permalink)  
Antiguo 24/04/2006, 17:40
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Y por que no usais un null Layout u otro tipo

Absolute , border , box , card , flow , ...
  #4 (permalink)  
Antiguo 24/04/2006, 17:55
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 1 mes
Puntos: 0
La putada es que con un layout null no funciona bien el scroll del JScrollPane. Es que, en mi caso, el panel con gridbaglayout lo tengo dentro de un JScrollPane, y si ese panel tiene layout null, el scroll no aparece nunca... :-/
  #5 (permalink)  
Antiguo 25/04/2006, 01:11
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Hola:

Para que el GridBagLayout estire las cosas hasta que ocupen todo el panel, debes poner en el gridbagconstraints los campos weightx y weighty a 1.0

En mi página que aparece un poco más abajo, dentro de la parte de java tienes un tutorial sobre el GridBagLayout en el que se explica todo esto más detalladamente.

Lo del layout null no es buena idea ya que si redimensionas la ventana, cambias la resolución de la pantalla o ejecutas en otro ordenador es posible que te quede todo feo y mal colocado. De todas formas, si quieres usar el layout null dentro del JScrollPane, haz que el panel que tiene ese layout y esta dentro del JScrollpane tenga unas dimesiones concretas. Puedes llamar a setPreferredSize() para darle un tamaño adecuado o, para estar mas seguro, hereda de JPanel y redefine el método getPreferredSize() para que devuelva el tamaño que tú quieras.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 25/04/2006, 01:30
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
GridBagLayout es el layout mas complicado que existe, y se usa normalmente para hacer las cosas más difíciles que no se pueden hacer de otra forma. Así que lo mejor es intentarlo primero con otros layouts mas sencillos.

Todo es mirarse los layouts que hay y combinarlos apropiadamente para dejar las cosas donde quieres. Con BorderLayout, BoxLayout y alineando como toca, se pueden hacer la gran mayoria de cosas.
  #7 (permalink)  
Antiguo 25/04/2006, 06:14
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 18 años
Puntos: 0
Lo bueno del GridBagLayout es que mantiene podes configurarlo para mantener las relaciones de tamaño cuando maximizas/redimiensionas la ventana. Cosa que con otros layouts no pasa y queda todo desproporcionado.
SI me equivoco avisenme, como por ejemplo si existe algun otro layout que te permita que cuando maximizas no quede todo del mismo tamaño y se agranden los espacios entre los componentes (espero que se entienda lo que quise decir)

Saludos
  #8 (permalink)  
Antiguo 25/04/2006, 06:27
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 1 mes
Puntos: 0
Mil gracias, Chuidiang!! ;)
  #9 (permalink)  
Antiguo 25/04/2006, 09:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Yo uso JGoodies Forms, que para formularios va bastante bien.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:11.