Foros del Web » Programación para mayores de 30 ;) » Java »

Cargar imagenes en java + mysql con netbeans

Estas en el tema de Cargar imagenes en java + mysql con netbeans en el foro de Java en Foros del Web. cordial saludo estoy en la materia de java en la U y el profe nos coloco un proyecto a realizar para el ultimo corte, la ...
  #1 (permalink)  
Antiguo 02/11/2010, 17:32
 
Fecha de Ingreso: diciembre-2009
Mensajes: 137
Antigüedad: 14 años, 10 meses
Puntos: 4
Cargar imagenes en java + mysql con netbeans

cordial saludo estoy en la materia de java en la U y el profe nos coloco un proyecto a realizar para el ultimo corte, la pregunta es que tengo 3 pequeños problemas que son los siguientes:

1) como cargo una imagen en un JLabel o cualquier componente, que la imagen se encuentre en el pc cargarla y guardarlo en una base de datos mysql

2) despue que este guardada en una tabla al momento de consultar por identificacion me traiga todo los datos juntos con la imagen.

3) tengo 2 JCombobox un que se llama cmbdpto y otro cmbmpio lo que necesito es que al primer combobox cuando cargue la informacion de una base de datos como por ejemplo el dpto atlantico me cargue en el segundo combobox todo los mpios de ese departamento.


le agradezco la ayuda es para el proyecto final de la U
  #2 (permalink)  
Antiguo 03/11/2010, 09:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 1
Respuesta: Cargar imagenes en java + mysql con netbeans

Facil, guarda la imagen en la base de datos como un array de bytes, loconsultas como un dato normal y para asignarlo a un label es asi:

JLabel label = new JLabel();

public Prueba(byte array[]){
ImageIcon imagen = new ImageIcon(array);

//forma 1
label = new JLabel(imagen);

//forma 2
label.setIcon(imagen);

//forma 3
label = new JLabel("Etiqueta",imagen,JLabel.EAST);
}
ahora para lo de departamentos y municipios, debes relacionar que departamentos hacen parte del municipio y segun sea el departamento que selecciones consultar a la base de datos los municipios asociados.

La forma mas facil es que tengas los municipios en una tabla diferente a los departamentos y en la tabla municipio la llave del departamento al que pertence cada municipio en una columna.

En internet hay estandares que practicamente se pueden convertir ne tus llaves busca al respecto.
  #3 (permalink)  
Antiguo 04/11/2010, 15:14
 
Fecha de Ingreso: diciembre-2009
Mensajes: 137
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cargar imagenes en java + mysql con netbeans

Hola maframaran

mira realize este codigo y funciona


Modulo de conectar a la base de datos

Código:
package jfilechooser;

import java.sql.*;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class conectate {
   static String bd = "dbprestamo";
   static String login = "root";
   static String password = "root";
   static String url = "jdbc:mysql://localhost/"+bd;

   Connection conn = null;

   /** Constructor de DbConnection */
   public conectate() {
      try{
         //obtenemos el driver de para mysql
         Class.forName("com.mysql.jdbc.Driver");
         //obtenemos la conexión
         conn = DriverManager.getConnection(url,login,password);
         if (conn!=null){
            System.out.println("Conección a base de datos "+bd+". listo");
         }
      }catch(SQLException e){
         System.out.println(e);
      }catch(ClassNotFoundException e){
         System.out.println(e);
      }
   }
   /**Permite retornar la conexión*/
   public Connection getConnection(){
      return conn;
   }

   public void desconectar(){
      conn = null;
      System.out.println("La conexion a la  base de datos "+bd+" a terminado");
   }
}
Código:
public class Imagen extends javax.swing.JFrame {

    private BufferedImage _image = null;
    private FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivo de Imagen","jpg","png");
    private JFileChooser fileChooser = new JFileChooser();
    
    //fileChooser.setFileFilter(filter);
    conectate con;

    /** Creates new form Imagen */
    public Imagen() {
        initComponents();
        con = new conectate();
       // JFileChooser fileChooser = new JFileChooser();
       // fileChooser.setFileFilter(filter);
    }
/* dada una direccion fisica de un archivo de imagen,
     * coloca esta en el objeto BufferedImage, o sea en memoria */
    public void cargar_imagen_en_buffer(URL _url){
        //se llena el buffer con la imagen
            try {
                _image = ImageIO.read(_url);
            } catch (IOException ex) {
                Logger.getLogger(Imagen.class.getName()).log(Level.SEVERE, null, ex);
            }
    }
    /* Metod que muestra una ventana de dialgo para añadir "archivo de imagen"
    *  en memoria  */
    public void Abrir_Dialogo(JPanel p){
       JFileChooser fileChooser = new JFileChooser();
       fileChooser.setFileFilter(filter);
       int result = fileChooser.showOpenDialog(null);
       if ( result == JFileChooser.APPROVE_OPTION ){
            try {
                //se asigna a "url" el archivo de imagen seleccionado
                URL url = fileChooser.getSelectedFile().toURL();
                //se lo coloca en memoria
                cargar_imagen_en_buffer(url);
                //se añade al contenedor
                p.add(new mipanel(Obtener_imagen_de_Buffer(), p.getSize()));
                p.setVisible(true);
                p.repaint();
            }
            catch (IOException ex) {
                Logger.getLogger(Imagen.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

public void guardarfoto(String nombre, String foto) {
        {
            FileInputStream fis = null;
            try {
                File file = new File(foto);
                fis = new FileInputStream(file);

                PreparedStatement pstm = con.getConnection().prepareStatement("insert into " +
                        " fotos(nombre, foto) " + " values(?,?)");
                pstm.setString(1, nombre);
                pstm.setBinaryStream(2, fis,(int) file.length());
                pstm.execute();
                pstm.close();
            } catch (FileNotFoundException ex) {
                Logger.getLogger(Imagen.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException e) {
                System.out.println(e);
            } finally {
                try {
                    fis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Imagen.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
   }

public void Guardar_Dialogo(){
       //JFileChooser fileChooser = new JFileChooser();
       //fileChooser.setFileFilter(filter);
       int result = fileChooser.showSaveDialog(null);
    ///int result = fileChooser.showSaveDialog(null);
      if ( result == JFileChooser.APPROVE_OPTION ){
        try{

               //se obtiene la direccion donde se guardara la imagen
               String url = fileChooser.getSelectedFile().toString();

                //String namefile = fileChooser.getSelectedFile().getName();
               System.out.println("url: " + url);
                //Se guarda la imagen
                //guardar_imagen(url);
                guardarfoto("",url);
                }catch(Exception e)
                {
                    e.printStackTrace();
                }
        }
   }


    /* retorna el objeto almacenado en memoria */
   public BufferedImage Obtener_imagen_de_Buffer(){
        return _image;
   }

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:

       Abrir_Dialogo(jPanel1);
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        Guardar_Dialogo();
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Imagen().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JTextField TxtOpen;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration

}
el problema que presenta es el siguiente tengo 2 botones y panel, un boton se llama abrir que se encarga de abrir la carpeta donde para buscar la imagen a insertar y coloca la imagen en el panel, el segundo boton es el de guardar la imagen en la base de datos el problema esta que al oprimir el boton abre la carpeta para localizar nuevamente la imagen. lo que necesito es que me omita esa opcion que guarde la imagen cuando precione le boton
  #4 (permalink)  
Antiguo 04/11/2010, 21:33
 
Fecha de Ingreso: noviembre-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 1
Respuesta: Cargar imagenes en java + mysql con netbeans

Mira, espero que te sirva, solo has lo que debes hacer donde te puse y ya, lo demas esta claro
Código Java:
Ver original
  1. package prueba;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.net.MalformedURLException;
  7. import java.util.logging.Level;
  8. import java.util.logging.Logger;
  9. import javax.swing.ImageIcon;
  10. import javax.swing.JButton;
  11. import javax.swing.JFileChooser;
  12. import javax.swing.JFrame;
  13. import javax.swing.JPanel;
  14. import javax.swing.filechooser.FileNameExtensionFilter;
  15.  
  16. /**
  17.  *
  18.  * @author Maframaran
  19.  */
  20. public class Imagen extends JFrame {
  21.  
  22.     private FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivo de Imagen","jpg","png");
  23.     private JFileChooser buscador = new JFileChooser();
  24.  
  25.     private JPanel contenedor;
  26.  
  27.     JButton examinar = new JButton("Examinar...");
  28.     JButton guardar = new JButton("Guardar");
  29.     JPanel visualizador = new JPanel();
  30.  
  31.     private ImageIcon imagen;
  32.     private Graphics graficador;
  33.     public Imagen(){
  34.         contenedor = (JPanel) getContentPane();
  35.  
  36.         contenedor.setLayout(null);
  37.  
  38.         examinar.setBounds(20, 20, 120, 20);
  39.         contenedor.add(examinar);
  40.  
  41.         guardar.setBounds(150, 20, 120, 20);
  42.         contenedor.add(guardar);
  43.  
  44.         visualizador.setBounds(20, 60, 100, 100);
  45.         contenedor.add(visualizador);
  46.  
  47.         examinar.addActionListener(new ActionListener(){
  48.             public void actionPerformed(ActionEvent ev){
  49.                 int result = buscador.showOpenDialog(null);
  50.  
  51.                 if (result == JFileChooser.APPROVE_OPTION){
  52.                     // aqui pintas la imagen
  53.                 }
  54.             }
  55.         });
  56.  
  57.         guardar.addActionListener(new ActionListener(){
  58.             public void actionPerformed(ActionEvent ev){
  59.                 // aqui guardas la imagen
  60.             }
  61.         });
  62.  
  63.         setSize(300,300);
  64.         setVisible(true);
  65.         setLocationRelativeTo(null);
  66.         setResizable(false);
  67.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  68.     }
  69.  
  70.     public void paint(Graphics g){
  71.         graficador = g;
  72.     }
  73.  
  74.     public static void main(String arg[]){
  75.         new Imagen();
  76.     }
  77. }

Ah, hay se me olvido agregar el filtro
  #5 (permalink)  
Antiguo 06/11/2010, 11:26
 
Fecha de Ingreso: diciembre-2009
Mensajes: 137
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cargar imagenes en java + mysql con netbeans

Listo maframaran gracia por tu colaboracion
  #6 (permalink)  
Antiguo 07/07/2014, 06:10
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Cargar imagenes en java + mysql con netbeans

hola a todos, un consulta: hay plugins de symfony2 para netbeans 8, los plugins que hay en la pagina de netbeans dice que son para netbeans 7, tambien sirven para el 8?, muchas grcias. saludos

Etiquetas: imagenes, mysql, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:35.