Introducción a JavaFX FileChooser

En JavaFX, FileChooser es una clase que se utiliza para explorar los archivos del sistema. Varias operaciones incluyen abrir un solo archivo, abrir múltiples archivos y guardar archivos en el sistema. El selector de archivos JavaFX se instancia de la clase javafx.stage.FileChooser. La sintaxis, los estados, los constructores y el ejemplo de JavaFX FileChooser se analizarán en las siguientes secciones.

Sintaxis:

El selector de archivos JavaFX se puede crear utilizando la siguiente sintaxis:

FileChooser fl = new FileChooser();

Asegúrese de que la clase javafx.stage.FileChooser se importe antes de escribir el programa JavaFX.

Constructores JavaFX FileChooser

Solo hay un constructor para JavaFX FileChooser. Es decir,

FileChooser (): se creará un cuadro de diálogo FileChooser

// create a FileChooser
FileChooser fl = new FileChooser();

Métodos de JavaFX FileChooser

Los siguientes son algunos de los métodos más utilizados en JavaFX FileChooser:

  • getTitle (): se devolverá el título del selector de archivos.
  • setTitle (String s): se establecerá el título del selector de archivos.
  • getInitialDirectory (): se devolverá el directorio inicial del selector de archivos.
  • setInitialDirector (archivo f): se establecerá el directorio inicial del selector de archivos.
  • setInitialFileName (String s): se establecerá el nombre de archivo inicial del selector de archivos.
  • getInitialFileName (): se devolverá el nombre de archivo inicial del selector de archivos.
  • showOpenDialog (ventana wn): aparece un cuadro de diálogo con una nueva selección de archivo abierto.
  • showSaveDialog (Window wn): aparece un cuadro de diálogo con una nueva selección de archivo guardado.

¿Cómo crear un FileChooser?

Hay varios pasos para crear un FileChooser.

Paso 1: crea un FileChooser. Para crear un FileChooser, se puede usar la siguiente sintaxis:

FileChooser fc = new FileChooser();

Paso 2: crea el cuadro vertical. En este paso, cree un cuadro vertical de la siguiente manera.

VBox vb = new VBox();

Paso 3: Agregue FileChooser creado al Scene Graph. Después de la creación de un cuadro vertical, agregue FileChooser al gráfico de escena usando los pasos a continuación.

//create a scene
Scene sce = new Scene(vb, 300, 200);
//set the scene
s.setScene(sce);
//displays the result
s.show();

Programa para implementar JavaFX FileChooser

Ahora, echemos un vistazo a la implementación del selector de archivos JavaFX:

Ejemplo 1

Programa Java para demostrar FileChooser que explora la ubicación del archivo.

Código:

//Java program to demonstrate file chooser that browse the file location
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
//sample class that extends Application classs
public class JavaFXfilechooserexample extends Application(
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//create a file chooser
FileChooser f = new FileChooser();
//set the title
f.setTitle("Opening the location..");
//open the dialog box
f.showOpenDialog(s);
HBox r = new HBox();
r.setSpacing(20);
//create scene
Scene sc = new Scene(r, 350, 100);
//set the scene
s.setScene(sc);
//set title
s.setTitle("Sample file chooser");
//display the result
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Salida: aparece un cuadro de diálogo en el que el usuario puede seleccionar la ubicación para explorar cualquier archivo que necesite. Además, se puede ver que se muestra un título de archivo en la parte superior izquierda del cuadro de diálogo.

Ejemplo # 2

El programa que elige un archivo y lo guarda con la ayuda de un botón y un controlador de eventos.

Código:

//Program that chooses a file and save it with the help of a button and an event handler.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import javafx.geometry.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import java.io.*;
import javafx.stage.FileChooser;
import javafx.scene.paint.*;
import javafx.scene.canvas.*;
import javafx.scene.text.*;
import javafx.scene.Group;
import javafx.scene.shape.*;
public class JavaFXfilechooserexample extends Application (
// application starts at this point
public void start(Stage s)
(
// A title is set for the stage
s.setTitle("FileChooser Example");
// File chooser creation
FileChooser fc = new FileChooser();
//Title creation for dialog box
fc.setTitle("Select the File you want . . .");
// initial File which is in E directory
fc.setInitialDirectory(new File("e:\\"));
// Label creation
Label l = new Label("You didn't select any files");
// Button 1 creation
Button b1 = new Button("Show dialog");
// Event Handler creation for button 1
EventHandler ev = new EventHandler() (
public void handle(ActionEvent e)
(
// Retrieve the file selected by the user
File file = fc.showOpenDialog(s);
//condition that will be selected only if the user has choosen a file
if (file != null) (
//a text that contains the file that is selected
l.setText("You have selected the file " +file.getAbsolutePath());
)
)
);
//action performs when button 1 is clicked
b1.setOnAction(ev);
// Button 2 creation
Button b2 = new Button("Show save dialog");
// Event Handler creation for button 2
EventHandler ev2 = new EventHandler() (
public void handle(ActionEvent e)
(
// Retrieve the file selected by the user
File file = fc.showSaveDialog(s);
//condition that will be selected only if the user has choosen a file
if (file != null) (
l.setText("You have selected the file " +file.getAbsolutePath()
);
)
)
);
//action performs when button is clicked
b2.setOnAction(ev2);
// VBox creation
VBox vb = new VBox(30, l, b1, b2);
// Alignment setting
vb.setAlignment(Pos.CENTER);
// scene creation
Scene sc = new Scene(vb, 800, 500);
// scene setting
s.setScene(sc);
//output display
s.show();
)
// Main Method
public static void main(String args())
(
// launch the application
launch(args);
)
)

Salida:

Aparecerá un cuadro de diálogo como se muestra a continuación al ejecutar el código.

Al hacer clic en el botón Mostrar cuadro de diálogo, la carpeta E se abrirá con una opción para seleccionar un archivo. (La carpeta E se selecciona como la mencionamos en el código).

Seleccione el archivo según sus requisitos. Para fines de demostración, he elegido el archivo como se muestra a continuación.

Después de seleccionar, habrá un cambio en la etiqueta del cuadro de diálogo.

Se puede ver claramente que la etiqueta cambia con el nombre del archivo que he seleccionado.

Al hacer clic en el botón Mostrar cuadro de diálogo Guardar, se debe seleccionar la ubicación para guardar el archivo elegido.

Luego se puede hacer clic en el botón Guardar.

Conclusión

En JavaFX, los selectores de archivos se utilizan para explorar y guardar archivos individuales y múltiples archivos. A diferencia de otros, solo usa un constructor no parametrizado. En este documento, se discute claramente la sintaxis, el constructor, los métodos y el programa para implementar JavaFX File Chooser.

Artículos recomendados

Esta es una guía para JavaFX FileChooser. Aquí discutimos la sintaxis, los constructores, los métodos y los ejemplos para implementar con los códigos y resultados adecuados. También puede consultar nuestros otros artículos relacionados para obtener más información:

  1. Diseños JavaFX
  2. Etiqueta JavaFX
  3. Sobrecarga en Java
  4. Polimorfismo en Java
  5. Control deslizante JavaFX
  6. ¿Cómo ingresar texto en JavaFX TextField?
  7. ¿Qué es JavaFX?
  8. 3 métodos de jQuery Slide con programación
  9. Propiedades con programa para implementar texto JavaFX
  10. Lanzamiento vs Lanzamientos | Las 5 principales diferencias que debes saber
  11. ¿Cómo crear una casilla de verificación en JavaFX con ejemplos?