JavaFX | Clase FileChooser

La clase FileChooser es una parte de JavaFX. Se utiliza para invocar diálogos de apertura de archivos para seleccionar un solo archivo (showOpenDialog), diálogos de apertura de archivos para seleccionar varios archivos (showOpenMultipleDialog) y diálogos de guardado de archivos (showSaveDialog). La clase FileChooser hereda la clase Object.

Los constructores de la clase son: 

  • FileChooser() : crea un nuevo cuadro de diálogo FileChooser.

Métodos comúnmente utilizados: 

Método Explicación
obtenerDirectorioInicial() Devuelve el directorio inicial del selector de archivos.
obtenerTitulo() Devuelve el título del selector de archivos.
setInitialDirectory(Archivo f) Establece el directorio inicial del selector de archivos.
setTitle(String t) Establece el título del selector de archivos.
showOpenDialog(Ventana w) Muestra un nuevo cuadro de diálogo de selección de archivos abiertos.
setInitialFileName(String n) Establece el nombre de archivo inicial del selector de archivos.
showSaveDialog(Ventana w) Muestra un nuevo cuadro de diálogo Guardar selección de archivos.
getInitialFileName() Devuelve el nombre de archivo inicial del selector de archivos.

Los siguientes programas ilustran el uso de FileChooser Class:

1. Programa Java para crear fileChooser y agregarlo al escenario: En este programa crearemos un selector de archivos llamado file_chooser . A continuación, cree una etiqueta con el nombre label y dos botones con el nombre button y button1 . Crearemos dos EventHandler para manejar los eventos cuando se presione el botón o button1 . Cuando se presiona el botón, aparece un cuadro de diálogo de selección de archivo abierto y el archivo seleccionado se muestra como texto en la etiqueta y cuando se presiona el botón 1, aparece un selector de archivo guardado y el archivo seleccionado se muestra como texto en la etiqueta. Agregue la etiqueta y el botón a Vbox y agregue el VBoxa la escena y agregue la escena al escenario, y llame a la función show() para mostrar los resultados finales.

Java

// Java Program to create fileChooser
// and add it to the stage
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.scene.paint.*;
import javafx.scene.canvas.*;
import javafx.scene.text.*;
import javafx.scene.Group;
import javafx.scene.shape.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import java.io.*;
import javafx.stage.FileChooser;
  
public class FileChooser_1 extends Application {
  
// launch the application
public void start(Stage stage)
{
 
    try {
 
        // set title for the stage
        stage.setTitle("FileChooser");
 
        // create a File chooser
        FileChooser fil_chooser = new FileChooser();
 
        // create a Label
        Label label = new Label("no files selected");
 
        // create a Button
        Button button = new Button("Show open dialog");
 
        // create an Event Handler
        EventHandler<ActionEvent> event =
        new EventHandler<ActionEvent>() {
 
            public void handle(ActionEvent e)
            {
 
                // get the file selected
                File file = fil_chooser.showOpenDialog(stage);
 
                if (file != null) {
                     
                    label.setText(file.getAbsolutePath()
                                        + "  selected");
                }
            }
        };
 
        button.setOnAction(event);
 
        // create a Button
        Button button1 = new Button("Show save dialog");
 
        // create an Event Handler
        EventHandler<ActionEvent> event1 =
         new EventHandler<ActionEvent>() {
 
            public void handle(ActionEvent e)
            {
 
                // get the file selected
                File file = fil_chooser.showSaveDialog(stage);
 
                if (file != null) {
                    label.setText(file.getAbsolutePath()
                                        + "  selected");
                }
            }
        };
 
        button1.setOnAction(event1);
 
        // create a VBox
        VBox vbox = new VBox(30, label, button, button1);
 
        // set Alignment
        vbox.setAlignment(Pos.CENTER);
 
        // create a scene
        Scene scene = new Scene(vbox, 800, 500);
 
        // set the scene
        stage.setScene(scene);
 
        stage.show();
    }
 
    catch (Exception e) {
 
        System.out.println(e.getMessage());
    }
}
 
// Main Method
public static void main(String args[])
{
 
    // launch the application
    launch(args);
}
}

Producción:

2. Programa Java para crear FileChooser, establecer el título, el archivo inicial y agregarlo al escenario: en este programa crearemos un selector de archivos llamado fil_chooser . A continuación, cree una etiqueta con el nombre label y dos botones con el nombre button y button1 . Establezca el título y el directorio inicial del selector de archivos usando la función setTitle() y setInitialDirectory() . Ahora cree dos EventHandler para manejar los eventos cuando se presiona el botón o button1 . Cuando se presiona el botón , aparece un cuadro de diálogo de selección de archivo abierto y el archivo seleccionado se muestra como texto en la etiqueta y cuando se presiona el botón 1 , aparece unAparece el selector de guardar archivos y el archivo seleccionado se muestra como texto en la etiqueta . Agregue la etiqueta y el botón a Vbox y agregue VBox a la escena y agregue la escena al escenario, y llame a la función show() para mostrar los resultados finales.

Java

// Java Program to create FileChooser
// & set title, initial File
// and add it to the stage
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.scene.paint.*;
import javafx.scene.canvas.*;
import javafx.scene.text.*;
import javafx.scene.Group;
import javafx.scene.shape.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import java.io.*;
import javafx.stage.FileChooser;
  
public class FileChooser_2 extends Application {
 
// launch the application
public void start(Stage stage)
{
 
    try {
 
        // set title for the stage
        stage.setTitle("FileChooser");
 
        // create a File chooser
        FileChooser fil_chooser = new FileChooser();
 
        // set title
        fil_chooser.setTitle("Select File");
 
        // set initial File
        fil_chooser.setInitialDirectory(new File("e:\\"));
 
        // create a Label
        Label label = new Label("no files selected");
 
        // create a Button
        Button button = new Button("Show open dialog");
 
        // create an Event Handler
        EventHandler<ActionEvent> event =
        new EventHandler<ActionEvent>() {
 
            public void handle(ActionEvent e)
            {
 
                // get the file selected
                File file = fil_chooser.showOpenDialog(stage);
 
                if (file != null) {
                    label.setText(file.getAbsolutePath()
                                        + "  selected");
                }
            }
        };
 
        button.setOnAction(event);
 
        // create a Button
        Button button1 = new Button("Show save dialog");
 
        // create an Event Handler
        EventHandler<ActionEvent> event1 =
         new EventHandler<ActionEvent>() {
 
            public void handle(ActionEvent e)
            {
 
                // get the file selected
                File file = fil_chooser.showSaveDialog(stage);
 
                if (file != null) {
                    label.setText(file.getAbsolutePath()
                                        + "  selected");
                }
            }
        };
 
        button1.setOnAction(event1);
 
        // create a VBox
        VBox vbox = new VBox(30, label, button, button1);
 
        // set Alignment
        vbox.setAlignment(Pos.CENTER);
 
        // create a scene
        Scene scene = new Scene(vbox, 800, 500);
 
        // set the scene
        stage.setScene(scene);
 
        stage.show();
    }
 
    catch (Exception e) {
 
        System.out.println(e.getMessage());
    }
}
 
// Main Method
public static void main(String args[])
{
 
    // launch the application
    launch(args);
}
}

Producción:

Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea.

Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/stage/FileChooser.html
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *