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

cómo modificar tamaño FlowLayout o BorderLayout?

Estas en el tema de cómo modificar tamaño FlowLayout o BorderLayout? en el foro de Java en Foros del Web. buenas, sólo utilizo la parte central del BorderLayout i FlowLayout, así que necesito agrandar toda la parte central donde pintar componentes al tamaño de la ...
  #1 (permalink)  
Antiguo 24/07/2009, 05:40
 
Fecha de Ingreso: febrero-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 3
cómo modificar tamaño FlowLayout o BorderLayout?

buenas, sólo utilizo la parte central del BorderLayout i FlowLayout, así que necesito agrandar toda la parte central donde pintar componentes al tamaño de la ventana (800x600)

tengo esto pero sólo modifico la posición, no el tamaño:

JPanel ElementosCentro= new JPanel(new FlowLayout(FlowLayout.CENTER, 300, 200));
pPrincipal.setSize(300,50); //no hace nada
pPrincipal.setBounds (10,10,40,20); //no hace nada


ayuditaaa
gracias
  #2 (permalink)  
Antiguo 24/07/2009, 10:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: cómo modificar tamaño FlowLayout o BorderLayout?

Hola:

No estaría de más que pusieras qué es pPrincipal y dónde lo pones.

Si metes cualquier componente dentro de otro componente que tiene un Layout, ese layout se encarga de dar tamaño y posición al componente, por lo que llamar a setSize(), setBounds() o cualquier otra variante no sirve de nada. El layout llamará después a los mismos métodos poniéndoles el tamaño que quiera.

Sin embargo, el layout tiene cierta "cortesía" con los componentes y antes de fijarles un tamaño, les pregunta por su getPreferredSize() y lo respeta, siempre que el tamaño de la ventana y la naturaleza del layout lo permitan.

Si quieres que un componente tenga un tamaño determinado dentro de un layout, lo más seguro es heredar de dicho componente y sobreescribir el método getPreferredSize() para que devuelva lo que tú quieras. Si en vez de heredar llamas a setPreferredSize(), puede funcionar o no, dependiendo del componente. Algunos, en su getPreferredSize() devuelve lo que le has pasado en su setPreferredSize(). Otros (como los paneles o componentes más complejos), en su getPreferredSize() echan unas cuentas con su contenido para decidir cual es su tamaño adecuado.

Otra opción sin heredar que también puede funcionar es llamar a setMinimumSize() y setMaximumSize(), haciendo que ambos sean el tamaño que quieres. El Layout también consulta getMinimumSize() y getMaximumSize() para ver qué tamaño da al componente y normalmente, los componentes, si devuelven en los get lo que les pasas en los set.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
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 05:14.