Foro de elhacker.net

Programación => Java => Mensaje iniciado por: yeah69 en 13 Junio 2010, 20:09 pm



Título: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: yeah69 en 13 Junio 2010, 20:09 pm
Bueno, igual por el título ya sabéis más o menos de que va. Quiero mostrar varias cosas (JTextFields JButtons...) y no me entran en mi ventana. Entonces me he creado un JPanel y ahí meto todos estos componentes. A su vez este JPanel lo meto un JScrollPane y para finalizar agrego el JScrollPane.
Yo estoy usando por sistema this.setlayout(null) y .setbounds() porque así lo utiliza el programa y tengo que seguir esa metodología. Pero aquí tengo problemas... pongo el código:

Código
  1. /////////////// recuadro con scroll
  2.  
  3. JPanel panel = new JPanel();
  4.  
  5. panel.setBounds(new Rectangle(15, 15, 380, 600));
  6.  
  7. JLabel[] unidadUsos = new JLabel[argumentos.length];
  8. JLabel[] mensajeUsos = new JLabel[argumentos.length];
  9. JLabel[] mensajeUnidades = new JLabel[argumentos.length];
  10. usosSeleccionados = new JTextField[argumentos.length];
  11. int numX = 5;
  12. posY = 0;
  13. for(int i=0;i<argumentos.length;i++){
  14.  
  15. posY = 5+(i*50);
  16. mensajeUsos[i] = new JLabel(argumentos[i]+":");
  17. mensajeUsos[i].setBounds(numX,posY,300,20);
  18. //panel.setLayout(null);
  19. panel.add(mensajeUsos[i]);
  20. unidadUsos[i] = new JLabel("Uso "+(i+1)+"- Po: ");
  21. unidadUsos[i].setBounds(numX,posY+20,65,20);
  22. //panel.setLayout(null);
  23. panel.add(unidadUsos[i]);
  24. usosSeleccionados[i] = new JTextField("0");
  25. usosSeleccionados[i].setBounds(numX+60,posY+20,35,20);
  26. //panel.setLayout(null);
  27. panel.add(usosSeleccionados[i]);
  28. mensajeUnidades[i] = new JLabel(" mm");
  29. mensajeUnidades[i].setBounds(numX+95,posY+20,80,20);
  30. //panel.setLayout(null);
  31. panel.add(mensajeUnidades[i]);
  32. }
  33.  
  34. posY = 85;
  35.  
  36.  
  37. JScrollPane panelScroll = new JScrollPane(panel);
  38. panelScroll.setBounds(15,posY,350,300);
  39. this.add(panelScroll);
  40. this.setLayout(null);d


Título: Re: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: yeah69 en 13 Junio 2010, 20:18 pm
vaya, se me ha enviado según ponía el código... bueno lo que me pasa es lo siguiente:
en el caso de que no use panel.setlayout(null) se van metiendo los componentes uno a uno y siempre a la misma alturo, uno a la derecha del otro....

(http://img580.imageshack.us/img580/5769/problema1w.jpg) (http://img580.imageshack.us/i/problema1w.jpg/)

se puede observar que la barra horizontal es finísima y que todos están en la misma fila...cuando deberían ponerse unos debajo de otros

mientras que si dejo el layout(null); sí, se me van metiendo como yo quiero, pero solo me coge hasta que entra en el espacio que tiene el JScrollPane y no me aparece ninguna barra

(http://img526.imageshack.us/img526/8137/problema2m.jpg) (http://img526.imageshack.us/i/problema2m.jpg/)

como veis solo se ven hasta 6 de los 48 registros que tengo que meter, y ni rastro de la barra vertical (he probado con el codigo para que se muestre siempre dicha barra y nada)

alguna idea por favor??

muchas gracias  :D :D


Título: Re: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: yeah69 en 13 Junio 2010, 20:43 pm
creo que tengo que escribir un .setPreferredSize pero no se si al JPanel o a JScrollPane y con qué dimension...


Título: Re: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: Leyer en 13 Junio 2010, 21:24 pm
Correcto, tienes que usarlo en el Jpanel con la dimension vertica de acuerdo a tus componentes


Título: Re: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: yeah69 en 13 Junio 2010, 21:27 pm
sip, ya lo he solucionado , con meter un .setPreferredSize ya funciona  ;D ;D
gracias!!!


Título: Re: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: NovateJava en 29 Abril 2016, 23:34 pm
Como lo solucionaste? es que tengo un problema parecido ,igual se que tengo que usar eso de setPre... pero no sé que me didas porfavor me urge saber como lo solucionaste?
lo que intento hacer es un simple panel con componentes dentros , y que el panel tenga barras de dezplazmiento, es muy parecido a lo que tu hiciste
porfis soy muy novata en java


Título: Re: Problema con JScrollPane y JPanel, usando setlayout(null) y .setbounds
Publicado por: + 1 Oculto(s) en 30 Abril 2016, 01:43 am
porque usan setlayout(null) , mejor usen algun layout para que sea responsive al screen
bueno es un consejo solamente

nota: este es un tema muy antiguo deberias crear uno nuevo