Java - Guardar y reemplazar con JFileChooser

   
Vista:

Guardar y reemplazar con JFileChooser

Publicado por riveroad (2 intervenciones) el 22/07/2008 09:05:47
Hola a todos, muchas gracias por adelantado.

Antes de nada, os comento que es lo que quiero hacer:
Necesito hacer una subrutina de un programa que, mediante el boton de guardar, abra un JFileChooser para que el usuario pueda elegir libremente el lugar donde quiere almacenar el fichero que ha creado con el programa, de tal manera que si este no existe, lo cree, pero que si éste existe pregunte, antes de sobreescribirlo, si se desea reemplazar el archivo existente.
Pues bien... hasta aquí he conseguido llegar, pero quería dar un pasito más, y es el que no consigo encontrar manera de hacerlo. El pasito es el siguiente:
Cuando lanzo el JFileChooser con ShowSaveDialog() me lanza la ventana que una vez se pulsa en aceptar o cancelar se cierra, de tal manera que aunque abra el mensaje de si se desea reescribir el archivo, el JFileChooser ya no es visible, y esa es la cuestión, me gustaría que esa ventana fuese visible el tiempo que permanece el mensaje de reescritura del archivo.
No se si me explico, pero un ejemplo de lo que quiero conseguir es lo que hace el Paint cuando pinchas sobre guardar como y guardas un dibujo con el mismo nombre de otro ya existente.
A continuación os paso el código del la función encargada de esta tarea, por si os sirve de algo, aunque si es necesario cambiar el código no me importaría:

private DialogoSobreescribir dialogosobreescribir = new DialogoSobreescribir(this, true);
private JFileChooser filechooser = new JFileChooser();
private JFrame framepadre = new JFrame();
private File archivoabierto = null;
·····
·····
·····
public void LanzarDialogo() {
if (filechooser.showSaveDialog(framepadre) == JFileChooser.APPROVE_OPTION) {
archivoabierto = new File (filechooser.getSelectedFile().getAbsolutePath());
if (archivoabierto.exists()) {
dialogosobreescribir.IniciarDialogo();
dialogosobreescribir.setVisible(true);
if (dialogosobreescribir.isBotonnoPulsado()) {
archivoabierto = null;
LanzarDialogo();
}
}
}
}

Espero que me podais ayudar, muchas gracias por adelantado, y para cualquier pregunta al respecto, no dudeis en escribirla.
Saludos de,
RIVEROAD.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder