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

Fotos Flisol 2008 – Huancayo – Perú


Después de 10 dias del flisol, encontré por fín algunas fotos del evento!!, se lo debo al señor Miguel Cárdenas, lo lamentable es que no aparezco en ninguna jaja, al igual que mi amigo NIlton, :) ya veo que miguelcrux, alan y jimmy son los únicos que robaron cámaras :), pero bueno, no me quejo, estuve algo ocupado preparando los ordenadores para el taller junto con Nilton.

Acá os dejo algunas fotitos que me robé de la picasa de MIguel Cárdenas :)

caos

Banner de la Comunidad Activista Open Source

pcbsdgiganto

Nuestra Gigantografía de PC-BSD

bsderos

miguelcrux, alan y jimmy.. posando para la foto !!

asistentes

Asistentes a las expos*

pcbsdes

pcbsdcompiz

olpc-pcbsd

Creo que en esta foto salió solo mi mano, ….

Faltan la de los talleres!!!, aunque no estoy seguro si lo captaron …

ummm, me olvidaba, hoy 06-05-2008 me deseo un felíz cumple!! :)