elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Delimitar Panel con scroll y FlowLayout
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Delimitar Panel con scroll y FlowLayout  (Leído 4,368 veces)
karson

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Delimitar Panel con scroll y FlowLayout
« en: 28 Mayo 2011, 01:37 am »

Hola, veamos si me puedo explicar bien.

Tengo un Frame con lo siguiente:
Hay un panel en el que voy añadiendo un componente creado por mi que representa una diapositiva. El layout que tiene es FlowLayout.
Como pueden ir muchas deseo ponerle un scroll vertical (solo vertical)
Entonces creo el Jscrollpane le configuro para que solo tenga scroll vertical, le situó en el Frame y digo que su setViewportView sea el panel con el flowlayout.

Ahora comienzan los problemas, deseo que a medida que voy añadiendo diapositivas, estas se vayan colocando en el panel FlowLayout y cuando no entren bajen a la fila de abajo. Como lo tengo siguen indefinidamente hacia la derecha... como si el panel fuera infinito. (pero repito que no quiero scroll horizontal)
Me gustaria saber como puedo delimitar la anchura del flowlayout.
Lo logre hacer, pero entonces el scroll no me funcionaba correctamente.

Y para complicarlo un poco mas, lo logre hacer mas o menos chapuceramente, el problema es que en el momento que redimensionaba la ventana dejaba todo de funcionar. (por poner dimensiones al setpreferensize manualmente).

Alguien sabe la manera rápida y simple de hacer lo que pido?
Si hay dudas puedo explicar y aportar el código que sea necesario.
Resumiendo poner un scroll vertical a un panel con flowlayout y que la anchura maxima del panel sea la anchura del scroll, sin embargo la altura la que sea necesaria e incluso se vaya incrementado y el scroll haciendo su trabajo

Gracias!!


En línea

NetJava

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: Delimitar Panel con scroll y FlowLayout
« Respuesta #1 en: 29 Mayo 2011, 19:32 pm »

Buenas, a ver si esto te sirve, yo siempre utilizo GridBagLayout, aunque sea algo simple, en esa forma para ordenar los elementos que introduzca meto el Scroll, te pongo un ejemplo, que debería funcionar para cualquier componente que pueda tener escroll, así lo he comprobado hasta ahora. Scroll vertical!

Código
  1.  
  2. private GridBagConstraints constraints = new GridBagConstraints();
  3. private JPanel jpnl_mijpanel = new JPanel();
  4.  
  5.  
  6. jpnl_mijpanel.setLineWrap(true); //Anula el Scroll horizontal.
  7.  
  8. this.getContentPane().setLayout(new GridBagLayout());
  9.  
  10. //Simplemente se introduce el componente en un lugar determinado. Funciona como si fuera una matriz blablablabla donde se van colocando los elementos blablablabla y la matriz es dinámica blablablabla XD.
  11. constraints.gridx =1; // Columna.
  12. constraints.gridy = 9; //Fila.
  13. constraints.gridwidth =1; //Ocupa columna.
  14. constraints.gridheight =1; //Ocupa fila.
  15. constraints.weighty = 0.25; //La fila se estira de arriba a abajo.
  16. constraints.weightx = 1.0; //La fila se estira a los lados.
  17. constraints.fill = GridBagConstraints.BOTH;
  18. this.getContentPane().add(new JScrollPane(jpnl_mijpanel),constraints);//Se pone el Scroll a cualquier componente que lo //pueda tener!!!

No se si es lo que pides y si lo es espero que no te salten los errores que te daba. Lo has pedido en un FlowLayout, jajajaja yo te doy mi respuesta en un GridBagLayout XD Saludos


« Última modificación: 29 Mayo 2011, 19:37 pm por Novlucker » En línea

karson

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Delimitar Panel con scroll y FlowLayout
« Respuesta #2 en: 30 Mayo 2011, 22:35 pm »

Muchas gracias!! Lo tendré en cuenta para ocasiones futuras.
Yo lo implemente con un gridlayout y reescribiendo su método resize, y controlando cuantos elementos me entran cambio el numero de columnas y redibujo. Me va bastante bien y responde muy rápidamente, asiq por el momento no lo toco.

Muchas gracias por la respuesta!!
Un saludo! ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA FLOWLAYOUT
Java
YamiKuro 1 3,670 Último mensaje 30 Mayo 2010, 15:54 pm
por Leyer
Hola problema con scroll en un panel
Desarrollo Web
David Vans 0 1,791 Último mensaje 14 Julio 2010, 13:34 pm
por David Vans
[Batch] Delimitar palabras en txt.
Scripting
Dany3j 0 2,246 Último mensaje 6 Febrero 2012, 21:18 pm
por Dany3j
[Python]Delimitar variable?
Scripting
electrodev 4 3,094 Último mensaje 27 Diciembre 2012, 22:32 pm
por electrodev
Problemas con delimitar while
Java
mapers 2 2,645 Último mensaje 21 Junio 2013, 07:46 am
por ~ Yoya ~
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines