Visor de imagenes en JAVA


Les presentare un simple visor de imagenes en java

Manos a la obra:

Lo primero que hacemos en crear una clase que extienda de JPanel, para sobreescribir

algunos metodos. Llamada: JClass.java, que contendra lo siguiente

package Clases;

import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class JClass extends JPanel {

    private ImageIcon imagen;

    public JClass() {
    }

    public JClass(String nombreImagen) {
        if (nombreImagen != null) {
            imagen = new ImageIcon(nombreImagen);
        }
    }

    public JClass(ImageIcon imagenInicial) {
        if (imagenInicial != null) {
            imagen = imagenInicial;
        }
    }

    public void setImagen(String nombreImagen) {
        if (nombreImagen != null) {
            imagen = new ImageIcon(nombreImagen);
        } else {
            imagen = null;
        }

        repaint();
    }

    public void setImagen(ImageIcon nuevaImagen) {
        imagen = nuevaImagen;
        repaint();
    }

    @Override
    public void paint(Graphics g) {
        if (imagen != null) {
            g.drawImage(imagen.getImage(), 0, 0, getWidth(), getHeight(), this);

            setOpaque(false);
        } else {
            setOpaque(true);
        }

        super.paint(g);
    }
}

Y luego una clase buscador.java que contedra lo suficiente para buscar en un JFilechooser

package Clases;

import java.io.File;
import java.util.ArrayList;
import javax.swing.JFileChooser;
import javax.swing.JTable;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author PabloRuiz
 */
public class Buscador {

    private int seleccion;
    private JFileChooser buscar;
    private FileNameExtensionFilter filter;
    private DefaultTableModel model;
    public static ArrayList direcciones;

    public Buscador() {
        buscar = new JFileChooser();
        filter = new FileNameExtensionFilter("JPG & GIF", "jpg", "gif");
        nuevoModelo();
        direcciones = new ArrayList();
    }

    public void buscar(JTable tabla) {
        try {
            nuevoModelo();
        buscar.setFileFilter(filter);
        buscar.setMultiSelectionEnabled(true);
        seleccion = buscar.showOpenDialog(buscar);

        if (seleccion == JFileChooser.APPROVE_OPTION) {
            File[] fichero = buscar.getSelectedFiles();

            for (int i = 0; i < fichero.length; i++) {
                String nombre[] = {fichero[i].getName(), fichero[i].getAbsolutePath()};
                direcciones.add(fichero[i].getAbsoluteFile());
                model.addRow(nombre);
            }

        }else{
            buscar.cancelSelection();
        }
        tabla.setModel(model);
        } catch (Exception e) {
            System.out.println("Error:"+e.getMessage());
        }

    }

    public void nuevoModelo(){
        model = new DefaultTableModel();
        model.addColumn("Nombre");
        model.addColumn("Dirección");
    }
}

Puedes descargar el proyecto Netbeans, para ver su modo de uso y interfaz. Descarga: Click aqui

Saludos!