Al final he utilizado otra forma para hacerlo, ahora el problema lo tengo que cuando se da al boton "Guardar" y existe un archivo con el mismo nombre pues saco un JFrame para que el usuario elija si sobreescribir o ignorar.
El problema es que sale la ventana para que elija el usuario la accion que debe tomar pero el metodo "Guardar" saca el JFrame y continua su ejecucion hasta finalizar por lo tanto no tiene en cuenta la accion de sobre-escribir o ignorar el archivo con el mismo nombre...
Supongo que esto se arregla haciendo que un thread lanze el JFrame que le permite al usuario elegir la accion correspondiente y que hasta que esta accion no sea elegida no se devuelva el control al metodo "Guardar"...
La idea que quiero seguir es que el thread del metodo guardar se quede en wait(bloqueado) hasta el usuario elija una opcion del JFrame, en ese momento se hara un notify para despertar al hilo en wait.
El codigo que lanza el Jframe es el siguiente:
System.
out.
println("ANTES OVERWRITE"); Overwrite overwrite = new Overwrite(local,remote);
overwrite.setVisible(true);
new Thread(overwrite
).
start(); synchronized(overwrite){
try {
this.wait();
Logger.getLogger(RepositoryManagement.class.getName()).log(Level.SEVERE, null, ex);
}
}
System.
out.
println("DESPUES OVERWRITE");
La clase que lanza la ventana de conflictos tendria que tener la siguiente declaracion:
public class Overwrite
extends javax.
swing.
JFrame implements Runnable{
................
}
El problema lo tengo a la hora de sincronizar el thread que ejecuta el metodo "Guardar" (1er bloque de codigo) y el JFrame overwrite... Alguien me puede guiar o echar una mano en la sincronizacion de dichos threads????
La idea seria frenar el thread de guardar hasta que el usuario establezca una accion en el JFrame Overwrite...
He intentado esquematizar mi problema con el menor codigo posible, si alguien necesita saber un poco mas del codigo que me lo comente y lo posteo.
Salu2 y gracias de antemano.
alzehimer_cerebral