Tutorial: Visor de Imagenes con Java [1/2]

diciembre 15, 2008

Aquí les mostrare como hacer un visor de imagenes MUY sencillo con java… Está bastante básico, pero de aquí pueden basarse y luego irlo mejorando, y para los que van empezando a programar en java esta muy útil, ademas lo haré utilizando el IDE Netbeans, para que conozcan esta poderosa herramienta que todo programador de java debería tener. Está dividido en 2 partes, la primera la pondré hoy y mañana si puedo subo la aplicación en sí.

Utilizaré Netbeans 6.1, porque el Netbeans 6.5 en mi computadora ya tiene muchos proyectos que siempre tengo abiertos y en el 6.1 como no lo uso esta “vacío” por asi decirlo, pero es lo mismo, pueden usar cualquier Netbeans, o hacerlo en un gedit, y luego compilarlo :), bueno entonces empezamos…

Vamos a File > New Project
Seleccionamos la categoría de Java, luego Java Application

Netbeans new project

En Project Name ponemos algo como VisorImagenes
Deshabilitamos la opción “Create Main Class” y damos click en Finish.

Tendríamos algo como esto:

Netbeans project

Primero vamos a crear la clase para el panel que contiene la Imagen

Damos click derecho en el nodo Source Packages debajo de nuestro proyecto
Creamos una nueva Java Class, llamada PanelImagen

PanelImagen

Ahora vamos a extender la clase JPanel de javax.swing

public class PanelImagen extends JPanel {

}

Nos va a pedir que importemos JPanel, para esto damos clic en el foco de la izquierda y seleccionamos la primer opción, ojo, la del import, la primera opción…

O simplemente pegamos antes de la declaracion de la clase esto:

import javax.swing.JPanel;

Bueno la clase tendrá un atributo privado de tipo Image:

private Image imagen;

Tenemos que importar Image de java.awt tambien, de aquí en adelante cuando vean los focos a la izq es que probablemente haya paquetes por importar, asi que simplemente importenlos igual que estos 2 imports.

import java.awt.Image;

Le haremos 2 constructores a nuestra clase:

/**
* Constructor a partir de un objeto de tipo Image
* @param imagen el objeto Image que se pintara en el JPanel
* @param ancho el ancho en pixeles del panel
* @param alto el alto en pixeles del panel
*/
public PanelImagen(Image imagen, int ancho, int alto)
{
this.setSize(new Dimension(ancho, alto));
this.imagen = imagen;
}

Importamos Dimension.

Este constructor esta bastante sencillo, solo acepta una imagen y el tamaño..
Haremos otro igual pero que acepte un objeto File, para de ahí sacar el objeto Image y dibujarlo:

/**
* Constructor a partir de un objeto de tipo File
* @param file el objeto File que apunta a la imagen que sera pintada en el JPanel
* @param ancho el ancho en pixeles del panel
* @param alto el alto en pixeles del panel
*/
public PanelImagen(File file, int ancho, int alto)
{
this.setSize(new Dimension(ancho, alto));
this.imagen = Toolkit.getDefaultToolkit().getImage(file.getAbsolutePath());
}

Ahora vamos a la parte del dibujado, vamos a sobreescribir el metodo paintComponent:

@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(this.getImagen(), 0, 0, this.getWidth(), this.getHeight(), this);
}

Aquí lo que hice fue que a la hora que se dibuje el componente, se dibuje inmediatamente su objeto Image y que llene todo el componente.

Pondremos los getters y setter:

public Image getImagen()
{
return imagen;
}

//repintar despues de cambiar imagen, para actualizar la interfaz gráfica
public void setImagen(Image imagen)
{
this.imagen = imagen;
this.repaint();
}

public void setImagenFromFile(File file)
{
this.imagen = Toolkit.getDefaultToolkit().getImage(file.getAbsolutePath());
this.repaint();
}

Al final los imports quedarían como:

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import javax.swing.JPanel;

Bueno esta clase ya la podemos usar por separado en alguna aplicación de escritorio, y meter ahi nuestro JPanel personalizado, mandarle una imagen o un File y ya nos la mostrará, en la parte 2 de este tutorial les mostrare como hacer un visor de imagenes sencillo.

About these ads

3 comentarios to “Tutorial: Visor de Imagenes con Java [1/2]”

  1. Andrea Says:

    Es bueno como introduccion para el manejo de imagenes en java. ESPOL

  2. Alexis Says:

    Ese codigo lo conozco de algun lado… ^^

    • luismmontielg Says:

      jajajjajaj che vatiyooo
      callate, mejor ponte a estudiarle al JSF
      ;O
      no te pierdas, proximamente, mi post sobre JSF y la funcionalidad del Login
      jaja luego me pasas algo de php


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: