Redimensionar JLabel

Iniciado por Kerber0, 20 Diciembre 2008, 18:22 PM

0 Miembros y 1 Visitante están viendo este tema.

Kerber0

Buenas gente nose si es el titulo correcto pero otro no encontraba.

El tema es el siguiente

tengo un JLabel y un ImageIcon

ImageIcon im = new ImageIcon();
JLabel lbl1 = new JLabel();
...


Despues de un cierto tiempo luego de que el programa se ejecute, quiero que en ese JLabel se cargue unna cierta imagen.

ImageIcon im = new JLabel("Imagen.jpg");
JLabel lbl1 = new JLabel(im);
...


Como tendria que hacer para poder lograr ''redimensionar'' los componentes que ya habia cargado de antemano?

Muchisimas gracias!

juancho77

Si lo que queres es que el label guarde un cierto espacio vacio para que, cuando se agrega la imagen no se corran todos los elementos, podes o bien dimensionar manualmente el JLabel o agregar un separador entre los elementos, y luego eliminarlo.
Ponele, si queres cargar fotos 100X100, utilizando un layout que soporte dimensionar manualmente, haces

Código (java) [Seleccionar]
JLabel lbl1 = new JLabel();
lbl1.setPreferredSize(new Dimension(100,100));


eso creara el label vacio ocupando 100 x 100. Cuando hagas

Código (java) [Seleccionar]
lbl1.setIcon(new ImageIcon("imagen.gif"));

no se notara el "redimensionamiento".

La otra opcion es crear un espacio vacio que funcione como separador y luego eliminarlo. Es mas complicado y funciona con determinados layouts, como el boxlayout.
Saludos

Kerber0


KaOs_NiGhT

Código (java) [Seleccionar]

//declaras el contenedor
Container Contenedor = getContentPane();
Contenedor.setLayout(null);
//declaras la label
label = new JLabel();
//declaras la posicion en el frame
label.setHorizontalAlignment(SwingConstants.CENTER);
//insertas la imgen al label
label.setIcon(new ImageIcon("logo.jpg"));
//insertas el objeto label
Contenedor.add(label);
label.setBounds(40, 10, 365, 280);/*en esta parte redimensionas el label y le indicas en que coordenada va a aparecer, en este caso, se recorrera 40 pixeles a la derecha, luego bajara 10, tendra un ancho de 365 pixeles y 280 de altura*/


espero haberme dado a entender, :D casi solo me dedico a leer posts  :silbar:

JorddyRojas

Buena Juancho77 me a ayudo... habia probado con setBaunds y setSize y no me daba  ;) jejeje gracias!

JorddyRojas

Buena Juancho77 se te agradese mucho!!  :-)