El componente swing JLabel nos permite cargar una imagen con la propiedad setIcon, sin embargo la imagen no toma el tamaño del contenedor sino que conserva su propio tamaño, entonces lo que debemos hacer es usar el método getScaledInstance(int width,int height,int hints) de la clase Image. Este método crea una versión escalada de la imagen. Devuelve un nuevo objeto Image que renderizará la imagen con el ancho y alto especificados de forma predeterminada. El nuevo objeto Image puede cargarse de forma asíncrona incluso si la imagen original de origen ya se ha cargado por completo.
Si el ancho o el alto es un número negativo, se sustituye un valor para mantener la relación de aspecto de las dimensiones de la imagen original. Si tanto el ancho como la altura son negativos, se utilizan las dimensiones de la imagen original.
Por ejemplo el siguiente código, carga una imagen PNG de dimensiones 100×80 pixeles y la redimensiona a 300×300 pixeles asignadola a un contenedor JLabel
//imagen origen Image img = new ImageIcon(getClass().getResource("/example/black_christmas.png")).getImage(); //escala imagen Image newimg = img.getScaledInstance(300, 300, java.awt.Image.SCALE_SMOOTH); ImageIcon imageIcon = new ImageIcon(newimg); //asigna a componenente JLabel jLabel2.setIcon(imageIcon);
Y el resultado que tenemos, la imagen pequeña es la imagen original, la imagen grande, es la imagen escalada
enjoy!!!
En este post veremos una pequeña introducción a lo que son las animaciones con LibGDX y el uso de sprites. ¿Que es la an[...]
Los archivos digitales (txt, docx, xlsx, odt, odp, pdf, etc) nos permiten almacenar información el cual en ocasiones, de[...]
En este tutorial veremos una forma para registrar archivos JPG en una base de datos PostgreSQL y recuperarlos para utili[...]
iReport nos da la posibilidad de dar un formato condicional a los diferentes registros resultado de nuestras consultas S[...]
Los objetos como JLabel o JButton nos permiten hacer uso de código CSS en su propiedad TEXT, asi podemos adornar el text[...]
El Algoritmo de Aldous-Broder llamado así por dos matemáticos, David Aldous and A. Broder (quienes trabajaban en la inve[...]