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

Cargar imagen que ha cambiado con JFileChooser

Estas en el tema de Cargar imagen que ha cambiado con JFileChooser en el foro de Java en Foros del Web. Hola a todos otra vez, como siempre sigo con mis problemas, ¿quién me mandaría a mi meterme en esto de java? bueno... fué mi jefe, ...
  #1 (permalink)  
Antiguo 15/11/2010, 06:08
 
Fecha de Ingreso: febrero-2010
Ubicación: Asturias patria querida
Mensajes: 45
Antigüedad: 14 años, 10 meses
Puntos: 4
Cargar imagen que ha cambiado con JFileChooser

Hola a todos otra vez, como siempre sigo con mis problemas, ¿quién me mandaría a mi meterme en esto de java? bueno... fué mi jefe, que es un ·$%%&.

A ver, mi duda:
Mi programa carga imagenes con un JFileChooser y las coloca en un JLabel, hasta ahí bien. El problema viene cuando cargas una imagen, esta cambia y la vuelves a cargar, la imagen que se coloca en el JLabel es la antigua aunque ésta ya no existe, hay que reiniciar el programa para que localice la nueva imagen. Sin embargo, si metes una imagen nueva en el directorio la encuentra perfectamente.

Este es el codigo, de lo más sencillo:

Código PHP:
public void cambiarImagen(){
   
JFileChooser jf = new JFileChooser();
   
jf.setDialogTitle("Selección de imagen");
   
jf.setAcceptAllFileFilterUsed(false);
   
jf.setFileFilter(new FileNameExtensionFilter("jpg, png, gif""jpg""png""gif"));
   
int sel jf.showOpenDialog(null);
   if (
sel == JFileChooser.APPROVE_OPTION) {
        
String rutaOrigen jf.getSelectedFile().getAbsolutePath();
        
this.etiquetaImagen = new ImageIcon(rutaOrigen);
   }

Es algo que no entiendo porque la clase JFileChooser no tiene ningún método flush. He buscado por media red pero no encuentro nada.

Un poco de ayuda porfis.
  #2 (permalink)  
Antiguo 15/11/2010, 06:43
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 2 meses
Puntos: 454
Respuesta: Cargar imagen que ha cambiado con JFileChooser

la imagen la carga java en memoria y ahí se queda, aunque la borres o la modifiques en el fichero.

se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 15/11/2010, 07:10
 
Fecha de Ingreso: febrero-2010
Ubicación: Asturias patria querida
Mensajes: 45
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cargar imagen que ha cambiado con JFileChooser

Entonces... ¿no tiene solución? ¿no hay ninguna manera de liberar la imagen de la memoria?

Gracias por tu respuesta.
  #4 (permalink)  
Antiguo 23/06/2011, 21:30
 
Fecha de Ingreso: junio-2011
Mensajes: 14
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Cargar imagen que ha cambiado con JFileChooser

Cita:
Iniciado por Tifany Ver Mensaje
Hola a todos otra vez, como siempre sigo con mis problemas, ¿quién me mandaría a mi meterme en esto de java? bueno... fué mi jefe, que es un ·$%%&.

A ver, mi duda:
Mi programa carga imagenes con un JFileChooser y las coloca en un JLabel, hasta ahí bien. El problema viene cuando cargas una imagen, esta cambia y la vuelves a cargar, la imagen que se coloca en el JLabel es la antigua aunque ésta ya no existe, hay que reiniciar el programa para que localice la nueva imagen. Sin embargo, si metes una imagen nueva en el directorio la encuentra perfectamente.

Este es el codigo, de lo más sencillo:

Código PHP:
public void cambiarImagen(){
   
JFileChooser jf = new JFileChooser();
   
jf.setDialogTitle("Selección de imagen");
   
jf.setAcceptAllFileFilterUsed(false);
   
jf.setFileFilter(new FileNameExtensionFilter("jpg, png, gif""jpg""png""gif"));
   
int sel jf.showOpenDialog(null);
   if (
sel == JFileChooser.APPROVE_OPTION) {
        
String rutaOrigen jf.getSelectedFile().getAbsolutePath();
        
this.etiquetaImagen = new ImageIcon(rutaOrigen);
   }

Es algo que no entiendo porque la clase JFileChooser no tiene ningún método flush. He buscado por media red pero no encuentro nada.

Un poco de ayuda porfis.

Solución: al JFileChooser le tienes que sacar solamente el Path y con eso queda listo. 100% comprobado
Cita:
String rutaOrigen = jf.getSelectedFile().getPath();
Saludos!

Etiquetas: jfilechooser
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




La zona horaria es GMT -6. Ahora son las 01:51.