Uso básico de elementos Swing con NetBeans – 13 – Uso básico de JFileChooser, diálogo de apertura y guardado.

Trabajando con JFileChooser desde Java

En esta ocasión veremos el manejo básico que se le puede dar a un JFileChooser. Este componente nos permite acceder a una pantalla, la cual según la configuración que le demos, podremos obtener acceso a las opciones de apertura y guardo de contenidos en nuestra pc. Para esta guía podremos configurar un JFileChooser para obtener acceso a las carpetas y archivos de nuestro computador, en caso de apertura podremos obtener el nombre del archivo y decir si optamos por abrirla o cancelar la operación; al igual podremos acceder a la pantalla de guardado y obtener el nombre que le damos al archivo o si cancelamos la operación. Cada resultado iremos almacenando en un JTextArea, la cual servirá como log del programa.
Diseñamos un formulario utilizando un JFrame (Nombre del formulario UsoJFileChooser). Para el diseño utilizamos dos botones de comando (el icono para cada botón la obtenemos de nuestra carpeta de imágenes, como vimos en los primeros tutoriales de la serie), cada una lanzará un tipo de dialogo, debajo de los botones tenemos nuestro área de texto que almacenará los resultados de cada operación. En la imagen siguiente vemos el diseño de nuestro formulario, cada elemento tiene un nombre de variable como se especifica en la imagen, tomar en cuenta este punto ya que es necesario para referenciar los objetos. Se puede cambiar el “Nombre de variable” de cada objeto haciendo clic derecho sobre la misma y clic en “Cambiar nombre de variable…”. (clic sobre la imagen para ampliar)
Para este proyecto creamos tres métodos específicos, la primera que arrancará al crearse el formulario, el segundo se encargará de manejar la apertura de archivos y la última para mostrar la pantalla de guardado.
Código Java
    private void inicio(){
//Método que llamaremos desde el constructor del JFrame.
//Especificamos algunas propiedades de nuestro JTextArea.
//Opción no editable.
jt.setEditable(false);
//Color de fondo.
jt.setBackground(Color.GRAY);
//Color de texto
jt.setForeground(Color.GREEN);
}
private void open(){
//Método para apertura de archivo.
//Creamos un objeto JFileChooser
JFileChooser jf = new JFileChooser();
//showOpenDialog para JFileChooser de apertura.
//Guardamos el valor en un entero, pues es lo que retorna.
int rs = jf.showOpenDialog(this);
//Comprabamos el retorno como vemos más abajo.
if(rs == JFileChooser.APPROVE_OPTION){
//Creamos una variable tipo File para obtener el archivo seleccionado.
File fl = jf.getSelectedFile();
//Agregamos una línea de texto a nuestro JTextArea para indicar la acción realizada.
jt.append("Se ha abierto el archivo con nombre: " + fl.getName() + "\n" );
}
//Si retorna diferente a APPROVE_OPTION.
else{
jt.append("Operación cancelada..." + "\n" );
}
}
private void save(){
//Método para guardar archivo.
JFileChooser jf = new JFileChooser();
//showSaveDialog para ventana de guardado.
int rs = jf.showSaveDialog(this);
//El procedimiento es igual al método de open()
if(rs == JFileChooser.APPROVE_OPTION){
File fl = jf.getSelectedFile();
jt.append("Se ha guardado un archivo con nombre: " + fl.getName() + "\n" );
}
else{
jt.append("Operación cancelada..." + "\n" );
}
}
En la imagen siguiente vemos las importaciones que necesitamos, nuestro paquete si la utilizamos y el método que llámanos desde el constructor.

Lista de Importaciones.

Código Java
import java.awt.Color;
import java.io.File;//Importaciones necesarias
import javax.swing.JFileChooser;
Para cada botón utilizaremos el evento “ActionPerformed”, en guías anteriores de esta serie vimos como se implementan los eventos. Seguido los eventos.
Código Java
    private void abrirActionPerformed(java.awt.event.ActionEvent evt) {                                      
open();
}

private void guardarActionPerformed(java.awt.event.ActionEvent evt) {
save();
}
Llegado a esta parte podremos ejecutar nuestro formulario. (Por si hay alguna duda en el proceso, debemos hacer clic derecho sobre nuestro archivo fuente y presionar “ejecutar archivo” ya que nuestro proyecto no tiene una clase principal definida)

No hay comentarios :

Publicar un comentario