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