Introduction à JavaFX FileChooser

Dans JavaFX, FileChooser est une classe utilisée pour parcourir les fichiers du système. Plusieurs opérations incluent l'ouverture d'un seul fichier, l'ouverture de plusieurs fichiers et l'enregistrement de fichiers dans le système. Le sélecteur de fichiers JavaFX est instancié à partir de la classe javafx.stage.FileChooser. La syntaxe, les états, les constructeurs et l'exemple de JavaFX FileChooser seront abordés dans les sections suivantes.

Syntaxe:

Le sélecteur de fichiers JavaFX peut être créé à l'aide de la syntaxe ci-dessous:

FileChooser fl = new FileChooser();

Assurez-vous que la classe javafx.stage.FileChooser est importée avant d'écrire le programme JavaFX.

Constructeurs JavaFX FileChooser

Il n'y a qu'un seul constructeur pour JavaFX FileChooser. C'est,

FileChooser (): une boîte de dialogue FileChooser sera créée

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

Méthodes de JavaFX FileChooser

Voici quelques-unes des méthodes couramment utilisées dans JavaFX FileChooser:

  • getTitle (): le titre du sélecteur de fichier sera retourné.
  • setTitle (String s): le titre du sélecteur de fichier sera défini.
  • getInitialDirectory (): le répertoire initial du sélecteur de fichiers sera retourné.
  • setInitialDirector (fichier f): le répertoire initial du sélecteur de fichiers sera défini.
  • setInitialFileName (String s): le nom de fichier initial du sélecteur de fichiers sera défini.
  • getInitialFileName (): le nom de fichier initial du sélecteur de fichiers sera renvoyé.
  • showOpenDialog (Window wn): une boîte de dialogue apparaît avec une nouvelle sélection de fichiers ouverts.
  • showSaveDialog (Window wn): Une boîte de dialogue apparaît avec une nouvelle sélection de fichier de sauvegarde.

Comment créer un FileChooser?

Il existe plusieurs étapes pour créer un FileChooser.

Étape 1: créez un FileChooser. Afin de créer un FileChooser, la syntaxe suivante peut être utilisée:

FileChooser fc = new FileChooser();

Étape 2: créez la boîte verticale. Dans cette étape, créez une boîte verticale comme suit.

VBox vb = new VBox();

Étape 3: Ajoutez FileChooser créé au graphique de scène. Après la création d'une boîte verticale, ajoutez le FileChooser au graphique de la scène en suivant les étapes ci-dessous.

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

Programme pour implémenter JavaFX FileChooser

Voyons maintenant l'implémentation du sélecteur de fichiers JavaFX:

Exemple 1

Programme Java pour montrer FileChooser qui parcourt l'emplacement du fichier.

Code:

//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);
)
)

Sortie: Une boîte de dialogue apparaît dans laquelle l'utilisateur peut sélectionner l'emplacement pour parcourir tout fichier dont il a besoin. En outre, on peut voir qu'un titre de fichier est affiché dans le coin supérieur gauche de la boîte de dialogue.

Exemple # 2

Le programme qui choisit un fichier et l'enregistre à l'aide d'un bouton et d'un gestionnaire d'événements.

Code:

//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);
)
)

Production:

Une boîte de dialogue, comme illustré ci-dessous, apparaît lors de l'exécution du code.

En cliquant sur le bouton Afficher la boîte de dialogue, le dossier E sera ouvert avec une option pour sélectionner un fichier. (Le dossier E est sélectionné comme nous l'avons mentionné dans le code).

Sélectionnez le fichier en fonction de vos besoins. À des fins de démonstration, j'ai choisi le fichier comme indiqué ci-dessous.

Après la sélection, il y aura un changement dans le libellé de la boîte de dialogue.

On peut voir clairement que l'étiquette change avec le nom de fichier que j'ai sélectionné.

En cliquant sur le bouton Afficher la boîte de dialogue Enregistrer, l'emplacement d'enregistrement du fichier choisi doit être sélectionné.

Ensuite, le bouton d'enregistrement peut être cliqué.

Conclusion

Dans JavaFX, les sélecteurs de fichiers sont utilisés pour parcourir et enregistrer des fichiers uniques et plusieurs fichiers. Contrairement à d'autres, il utilise uniquement un constructeur non paramétré. Dans ce document, la syntaxe, le constructeur, les méthodes et le programme pour implémenter le sélecteur de fichiers JavaFX sont clairement discutés.

Articles recommandés

Ceci est un guide de JavaFX FileChooser. Nous discutons ici de la syntaxe, des constructeurs, des méthodes et des exemples à implémenter avec les codes et les sorties appropriés. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -

  1. Dispositions JavaFX
  2. Étiquette JavaFX
  3. Surcharge en Java
  4. Polymorphisme en Java
  5. JavaFX Slider
  6. Comment saisir du texte dans JavaFX TextField?
  7. Qu'est-ce que JavaFX?
  8. 3 méthodes de jQuery Slide avec programmation
  9. Propriétés avec programme pour implémenter du texte JavaFX
  10. Lancer vs lancer | Les 5 principales différences que vous devez savoir
  11. Comment créer une case à cocher dans JavaFX avec des exemples?