Como notamos, tenemos una imagen en un JLabel la cual no se puede distinguir, el siguiente código muestra como poder ajustar la imagen al tamaño del JLabel.
- ImageIcon fot = new ImageIcon(path_ala_imagen);
- Icon icono = new ImageIcon(fot.getImage().getScaledInstance(jLabel1.getWidth(), jLabel1.getHeight(), Image.SCALE_DEFAULT));
- jLabel1.setIcon(icono);
- this.repaint();
- En la primera línea se carga la imagen
- Se crea un icono, el cual cargará la imagen, pero usa la instancia "getScalesInsance" la cual permite crear un ajuste/redimensionar la imagen. Hemos puesto que sea del ancho del jLabel1, el cual se especifica con jLabel1.getWidth, el alto con jLabel1.getHeight y lo último son parámetros de Image.
- Se le otorga a JLabel1 el icono con su nueva dimensión.
- Este pase es opcional, a veces es necesario un repaint para que se noten los cambios.
48 comentarios:
aa gracias pffffffff staba muriendo por saber esto muchas gracias =)
Excelente explicación, saludoss!!
Excelente. Practico y directo
Muchas gracias por sus comentarios!!!
Lo estaba buscando por horas, hasta que lo encontré aquí, muchas gracias
gracias me sirvio de mucho. ya quedo lo que necesitaba. saludos.
excelente mi amigo buen aporte
Excelente!
Muchas Gracias
Excelente hermano! me has salvado en un proyecto final! buen aporte y sigue así..
Saludos!!
Excelente aporte claro preciso y concreto
GRACIAS, E SIRVIO DE MUCHO, SALUDOS
Muchas gracias por el código de verdad!!
Saludos desde México
Jorge Torrecilla
compadres me has salvado gracias
ademas de ser preciso explicas bien cada parte del codigo muchas gracias, me salvastes la pega
una cosa, y para realizar esto mismo en tiempo de ejecución?? osea, que si varia el tamaño del jLabel en ejecución, se modifique el tamaño del icono automáticamente sin crear en cada redimensionamiento una imagen nueva.
BUEN APORTE!!
Gracais me as ayudado
Excelente post!!!! gracias!
Gracias!!!! sencillo y práctico
Gracias amigo
Muy bueno el ejemplo y la explicacion
Hola muy buen aporte, es lo que tenía en mente cuando pensé en Ajustar imagen al tamaño del un Jlabel pero me da error:
sun.awt.image.ImageFormatException: Unsupported color conversion request
at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
at sun.awt.image.JPEGImageDecoder.produceImage(JPEGImageDecoder.java:136)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
sun.awt.image.ImageFormatException: Unsupported color conversion request
at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
at sun.awt.image.JPEGImageDecoder.produceImage(JPEGImageDecoder.java:136)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
Sabes porque puede ser??
Gracias en verdad!!!
Muchas gracias me sirvio mucho tu codigo ;-)
Gracias we, ya tenia rato buscandolo
Estar a un día de la entrega de un proyecto y encontrarse una función que milagrosamente hace lo que ocupabas hacer... GRACIAS!!!!!!!!
me cogi a tu puto perro
Gracias por el aporte
Hermano, tu vienes del futuro. GRACIAS!
Hola, yo tenia el problema de que tenía que poner la ruta completa de la imagen y pues si estaba agregada al proyecto pues era un problema y pues lo resolví así.
1.- String path = "/Iconos/miImagen.png";
2.- URL url = this.getClass().getResource(path);
3.- ImageIcon icon = new ImageIcon(url);
4.- Icon icono = new ImageIcon(icon.getImage().getScaledInstance(label1.getWidth(), label1.getHeight(), Image.SCALE_DEFAULT));
5.- label1.setIcon(icono);
6.- this.repaint();
Gracias amigos me sirvio de mucho aui les pase por emdio de un metodo, se que tambien les servira de mucho. :)
public void cargarImagenStretchJButton(String imagen,JButton boton) {
ImageIcon fot = new ImageIcon(getClass().getResource(imagen));
Icon icono = new ImageIcon(fot.getImage().getScaledInstance(boton.getWidth(), boton.getHeight(), Image.SCALE_DEFAULT));
boton.setIcon(icono);
this.repaint();
}
muchas gracias!!! :)
Genial bro, siempre termino en tu pagina cuando no recuerdo como redimensionar la imagen, gracias por los aportes.
Muchas gracias
esta genial pero una pregunta como lo ajusto de tal manera que si la imagen es mal ancha al ajustarlo se aplasta hay alguna forma de ajustar el ancho y el alto de manera proporcional sin que se deforme?
Gracias por todo :D
Muchas gracias por el aporte! :D
gracias amigo lo que andaba buscando
Gracias, por el aporte!!! :D
Excelente, simple y potente.....Saludos
Muchas gracias!
Excelente aporte.
Excelente, pero se me ocurrió hacerle unas modificaciones para que la imagen no se deforme, espero a alguien le sirva :)
Ajustar icono manteniendo sus proporciones :)
ImageIcon tmpImagen = new ImageIcon(imagenes[indice]);
float delta = ( (imagen.getWidth() * 100) / tmpImagen.getIconWidth() ) / 100f;
if(tmpImagen.getIconHeight() > imagen.getHeight())
delta = ( (imagen.getHeight() * 100) / tmpImagen.getIconHeight() ) / 100f;
int ancho = (int) (tmpImagen.getIconWidth() * delta);
int alto = (int) (tmpImagen.getIconHeight() * delta);
imagen.setIcon(new ImageIcon(tmpImagen.getImage().getScaledInstance(ancho,alto,Image.SCALE_SMOOTH)));
Muchas gracias me salvastee!
muchas gracias tu explicacion fue excelente eres un crack
Muchas gracias por el aporte, me resultó muy útil
Despues de haber paseado toda la web aparecio este short codigo q simplemente resolvia lo q necesitaba, excelente aporte muy bien explicado y entendible. Gracias.
Gracias...
Solucione mi problema.
Exitos.
Perfecto!!! 5 estrellas
Publicar un comentario