FileChooser JavaFX

Le sélecteur de fichiers JavaFX permet aux utilisateurs de parcourir les fichiers à partir de l’explorateur de fichiers. La classe javafx.stage.FileChooser représente FileChooser, qui peut être créé en instanciant la classe FileChooser de la manière suivante.

 FileChooser file = new FileChooser();

La classe FileChooser fournit deux types de méthodes,

  • showOpenDialog()
  • showSaveDialog()

L’un pour ouvrir le fichier et l’autre pour enregistrer les fichiers. L’utilisateur doit rechercher un emplacement pour le fichier et donner un nom au fichier.

Voici le code qui implémente la méthode showOpenDialog() .

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

import java.io.IOException;

public class FileChooserExample extends Application {
    @Override
    public void start(Stage stage) throws IOException {

        FileChooser file = new FileChooser();
        file.setTitle("Open File");
        file.showOpenDialog(stage);


        StackPane root = new StackPane();

        Scene scene = new Scene(root, 500, 300);

        stage.setTitle("Open File");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}

Le code ci-dessus montre la boîte de dialogue suivante à l’utilisateur où l’utilisateur est invité à parcourir l’emplacement du fichier qui doit être ouvert.

FileChooser JavaFX
FileChooser JavaFX

Le code suivant montre une étiquette et un bouton à l’utilisateur. Une boîte de dialogue d’ouverture de fichier s’ouvrira en cliquant sur le bouton Parcourir.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

import java.io.IOException;

public class FileChooserExample extends Application {
    @Override
    public void start(Stage stage) throws IOException {

        Label label = new Label("Fichier:");
        Button btn = new Button("Parcourir");
        btn.setOnAction(e ->
        {
            FileChooser file = new FileChooser();
            file.setTitle("Ouvrir le fichier");
            file.showOpenDialog(stage);
        });
        HBox root = new HBox();

        root.setSpacing(20);
        root.getChildren().addAll(label, btn);
        Scene scene = new Scene(root, 350, 100);
        stage.setScene(scene);
        stage.setTitle("Exemple FileChooser");
        stage.show();

    }
}

Le code suivant montre la boîte de dialogue pour enregistrer les fichiers. Il suffit de créer deux objets de la classe FileChooser.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

import java.io.File;
import java.io.IOException;

public class FileChooserExample extends Application {
    @Override
    public void start(Stage stage) throws IOException {

        Button btn = new Button("Enregistrer");
        btn.setOnAction(e ->
        {
            FileChooser file = new FileChooser();
            file.setTitle("Enregistrer l'image");

            File file1 = file.showSaveDialog(stage);
            System.out.println(file1);
        });

        StackPane root = new StackPane();
        Scene scene = new Scene(root, 200, 300);
        stage.setScene(scene);
        root.getChildren().add(btn);
        stage.show();
    }

}

FileChooser JavaFX
FileChooser JavaFX

Laisser un commentaire