Código Java – Autoajustar Imágenes en un Contenedor


Este es el Ejemplo #22 del Topic: Programación Gráfica en Java.

Con el siguiente ejemplo aprenderemos a subir imágenes para mostrarlos en nuestros contenedores de java, y no solo eso, si no también como deben ser autoajustados al contenedor en el que se encuentra, de esa manera eliminamos los problemas de escalamiento que suele ocurrir por defecto si no se hace uso de una función que realice este trabajo.

Para este ejemplo contamos con 2 funciones básicas, la primera para presentar la imágen y la otra para autoajustarlo al componente que lo contiene:

...
    private void setImagen()
    {
        lbl.setIcon(ajustarImagen("/home/beastieux/MiImagen.png"));
        lbl.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
    }
...
...
    private ImageIcon ajustarImagen(String ico)
    {
        ImageIcon tmpIconAux = new ImageIcon(ico);
        //Escalar Imagen
        ImageIcon tmpIcon = new ImageIcon(tmpIconAux.getImage().getScaledInstance(200, 200, Image.SCALE_DEFAULT));
        return tmpIcon;
    }
...

Código de Ejemplo:

package beastieux.gui;

import java.awt.FlowLayout;
import java.awt.Image;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 *
 * @author beastieux
 */
public class Ejm22_SubirImagen extends JFrame {

    JLabel lbl;

    public Ejm22_SubirImagen()
    {
        lbl = new JLabel();

        this.add(lbl);
        this.setSize(200,200);
        this.setLayout(new FlowLayout());
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

    }

    private void setImagen()
    {
        lbl.setIcon(ajustarImagen("/home/beastieux/MiImagen.png"));
        lbl.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
    }

    private ImageIcon ajustarImagen(String ico)
    {
        ImageIcon tmpIconAux = new ImageIcon(ico);
        //Escalar Imagen
        ImageIcon tmpIcon = new ImageIcon(tmpIconAux.getImage().getScaledInstance(200, 200, Image.SCALE_DEFAULT));
        return tmpIcon;
    }

    public static void main(String args[])
    {
        Ejm22_SubirImagen obj=new Ejm22_SubirImagen();
        obj.setVisible(true);
        obj.setImagen();
    }

}
Anuncios

PC-BSD Artwork


PC-BSD es un sistema operativo hecho a la medida de usuarios exigentes y libres de perjuicios.
Por ello, creo que es muy buena la idea de difundirlo. Por mi parte, lo vengo haciendo desde hace ya un tiempo, por el mismo motivo, creo yo (al igual que muchos otros) que la mejor forma de difundir este gran sistema operativo es con un buen estilo, llamativos logos, banner’s, iconos, pero sobre todo , explicando lo fácil que es poseer PC-BSD en nuestro ordenador sin preocuparnos por lo que pueda pasar con nuestros sistemas operativos ya instalados previamentes, ya que PC-BSD no causa ningún tipo riesgo: Unos cuantos clic’s, pocos minutos y LISTO …
Pues, todos aquellos que tengan la buena intención de querer difundir PC-BSD, pueden ayudarnos colocando un pequeño logo en sus web – blogs, y de esa manera contribuir con ésta comunidad, que tiene los deseos de darse a conocer al mundo entero para brindarles poder y facilidad.

Pueden encontrar algunos logos en: PC-BSD Artwork

y otros en: PC-BSD.UA