Explico en esta oportunidad el uso de
Cuadros de diálogo Abrir y Guardar:
Las
opciones Abrir y Guardar son opciones muy comunes en las aplicaciones. Estas
opciones permiten buscar en el árbol de carpetas del sistema un fichero en
concreto y abrirlo, o bien guardar una información dentro de un fichero en
alguna carpeta.
Java
proporciona una clase llamada JFileChooser (elegir
fichero) que permite mostrar la ventana típica de Abrir o Guardar:
Ventana Abrir:
La
ventana de Guardar es la misma, solo que muestra en su barra de título la
palabra Guardar:
El
objeto JFileChooser nos facilita solamente la labor de elegir el archivo,
pero no realiza la apertura o la acción de guardar la información en él. Esto
tendrá que ser programado.
En el
siguiente ejercicio haremos uso de JFileChooser:
- Crea un nuevo proyecto.
- Dentro de Source Packages crea
un Java Package y llamalo paqueteInicial.
- Dentro de paqueteInicial crea
un JFrame Form y nombralo VentanaInicial.
- En la VentanaInicial agrega los
siguientes elementos:
- Una barra de menús. Llámala barraMenus.
- Dentro de ella agregue un menú “Archivo”
llamada mnuArchivo.
- Dentro del menú “Archivo”, introduce los
siguientes elementos:
-
Una
opción “Abrir”, nómbralo mnuItemAbrir.
-
Un
separador (no es necesario cambiarle el nombre).
-
Una
opción “Salir”, llámalo mnuItemSalir.
- Al ejecutar el proyecto el menú se verá así:
- Si observas el Inspector, tendrá un aspecto parecido al siguiente:
- Para que al pulsar la opción “Abrir” de
nuestro programa aparezca el diálogo de apertura de ficheros, es necesario
añadir a nuestro programa un objeto del tipo JFileChooser.
Los objetos JFileChooser se añadirán el la zona de “Otros Componentes” del inspector.
- Haz clic derecho sobre la zona de “otros
componentes” y activa la opción Agregar Desde Paleta – Swing
Windows – File Chooser:
- Aparecerá entonces un objeto JFileChooser dentro
de Otros Componentes. Aprovecha
para cambiarle el nombre a este objeto. Su nombre será elegirArchivo.
El inspector quedará así:
- Una vez hecho esto, ya podemos programar la
opción Abrir del menú. Codifiquemos en el evento actionPerformed de la opción “Abrir” lo siguiente:
int botonElegido;
botonElegido = elegirArchivo.showOpenDialog(this);
if (botonElegido
== JFileChooser.APPROVE_OPTION) {
JOptionPane.showMessageDialog(null, elegirArchivo.getSelectedFile().toString());
} else
if (botonElegido == JFileChooser.CANCEL_OPTION)
{
JOptionPane.showMessageDialog(null, "Ha elegido la opción Cancelar.");
}
- Ejecuta el proyecto y prueba la opción “Abrir”
del menú. Prueba a elegir algún fichero y abrirlo. Prueba a cancelar la
ventana de apertura. Etc..
- Explicación del código anterior:
int botonElegido;
botonElegido
= elegirArchivo.showOpenDialog(this);
-
Estas
dos líneas crean una variable entera botonElegido
y a continuación hacen que se muestre la ventana “Abrir Fichero”. Observa que
para conseguirlo hay que usar el método showOpenDialog
del objeto elegirArchivo. Este método
lleva como parámetro la ventana actual (this).
-
El
método showOpenDialog no solamente muestra la ventana “Abrir Fichero” sino que
también devuelve un valor entero según el botón pulsado por el usuario en esta
ventana. Esto es: botón “Abrir” o botón “Calcelar”.
-
Se
pueden usar dos if para controlar lo que sucede si el usuario pulsa el botón
“Abrir” o el botón “Calcelar” de la ventana “Abrir Fichero”:
if (botonElegido
== JFileChooser.APPROVE_OPTION) {
JOptionPane.showMessageDialog(null, elegirArchivo.getSelectedFile().toString());
} else
if (botonElegido == JFileChooser.CANCEL_OPTION)
{
JOptionPane.showMessageDialog(null, "Ha elegido la opción Cancelar.");
}
-
En el
primer if se compara la variable botonElegido con la constante JFileChooser.APPROVE_OPTION, para saber
si el usuario pulsó “Abrir”.
-
En el
segundo if se compara la variable botonElegido con la constante JFileChooser.CANCEL_OPTION, para saber
si el usuario pulsó “Calcelar”.
-
En el
caso de que el usuario pulsara “Abrir”, el programa usa el método getSelectedFile
del objeto elegirArchivo para recoger la ruta del archivo elegido. Esta ruta
debe ser convertida a cadena con el método toString.
-
El
programa aprovecha esto para mostrar dicha ruta en pantalla gracias al típico JOptionPane.
-
En el
caso de que el usuario pulsara el botón “Cancelar” el programa muestra un
mensaje indicándolo.
- Hay que dejar claro que el cuadro de diálogo
“Abrir” realmente no abre ningún archivo, sino que devuelve la ruta del archivo
elegido usando el código:
elegirArchivo.getSelectedFile().toString()
Quedando a criterio del programador el trabajar con el archivo elegido
de la forma que necesite.
CONCLUSIÓN:
Los objetos JFileChooser permiten
mostrar el cuadro de diálogo “Abrir Archivo” o “Guardar Archivo”.
Estos objetos no abren ni guardan archivos,
solo permiten al usuario elegir el archivo a abrir o guardar.
El JFileChooser devuelve la ruta del archivo
elegido, y luego el programador trabajará con dicho archivo según la necesidad
de su proyecto.
No hay comentarios.:
Publicar un comentario