Einführung in JavaFX FileChooser

In JavaFX ist FileChooser eine Klasse, die zum Durchsuchen der Dateien vom System verwendet wird. Mehrere Vorgänge umfassen das Öffnen einer einzelnen Datei, das Öffnen mehrerer Dateien und das Speichern von Dateien im System. Die JavaFX-Dateiauswahl wird aus der Klasse javafx.stage.FileChooser instanziiert. Die Syntax, Zustände, Konstruktoren und das Beispiel von JavaFX FileChooser werden in den folgenden Abschnitten erläutert.

Syntax:

Die JavaFX-Dateiauswahl kann mit der folgenden Syntax erstellt werden:

FileChooser fl = new FileChooser();

Stellen Sie sicher, dass die Klasse javafx.stage.FileChooser importiert ist, bevor Sie das JavaFX-Programm schreiben.

JavaFX FileChooser-Konstruktoren

Es gibt nur einen Konstruktor für JavaFX FileChooser. Das ist,

FileChooser (): Ein FileChooser-Dialogfeld wird erstellt

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

Methoden von JavaFX FileChooser

Im Folgenden sind einige der in JavaFX FileChooser häufig verwendeten Methoden aufgeführt:

  • getTitle (): Der Titel der Dateiauswahl wird zurückgegeben.
  • setTitle (String s): Der Titel der Dateiauswahl wird festgelegt.
  • getInitialDirectory (): Das ursprüngliche Verzeichnis der Dateiauswahl wird zurückgegeben.
  • setInitialDirector (Datei f): Das Ausgangsverzeichnis der Dateiauswahl wird festgelegt.
  • setInitialFileName (String s): Der ursprüngliche Dateiname der Dateiauswahl wird festgelegt.
  • getInitialFileName (): Der ursprüngliche Dateiname der Dateiauswahl wird zurückgegeben.
  • showOpenDialog (Window wn): Es erscheint ein Dialog mit einer neuen offenen Dateiauswahl.
  • showSaveDialog (Window wn): Ein Dialogfeld mit einer neuen Auswahl von Speicherdateien wird angezeigt.

Wie erstelle ich einen FileChooser?

Es gibt mehrere Schritte, um einen FileChooser zu erstellen.

Schritt 1: Erstellen Sie einen FileChooser. Um einen FileChooser zu erstellen, kann die folgende Syntax verwendet werden:

FileChooser fc = new FileChooser();

Schritt 2: Erstellen Sie die vertikale Box. Erstellen Sie in diesem Schritt ein vertikales Feld wie folgt.

VBox vb = new VBox();

Schritt 3: Fügen Sie dem Szenendiagramm den erstellten FileChooser hinzu. Fügen Sie nach dem Erstellen eines vertikalen Rahmens den FileChooser mit den folgenden Schritten zum Szenendiagramm hinzu.

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

Programm zum Implementieren von JavaFX FileChooser

Lassen Sie uns nun einen Blick auf die Implementierung der JavaFX-Dateiauswahl werfen:

Beispiel 1

Java-Programm zur Demonstration von FileChooser, das den Dateispeicherort durchsucht.

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

Ausgabe: Ein Dialogfeld wird angezeigt, in dem der Benutzer den Speicherort auswählen kann, an dem alle benötigten Dateien durchsucht werden sollen. Außerdem ist zu sehen, dass oben links im Dialogfeld ein Dateititel angezeigt wird.

Beispiel # 2

Das Programm, das eine Datei auswählt und mit Hilfe einer Schaltfläche und eines Ereignishandlers speichert.

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

Ausgabe:

Bei der Ausführung des Codes wird ein Dialogfeld wie unten gezeigt angezeigt.

Wenn Sie auf die Schaltfläche Dialogfeld anzeigen klicken, wird der Ordner E mit der Option zum Auswählen einer Datei geöffnet. (Der Ordner E ist so ausgewählt, wie wir ihn im Code erwähnt haben.)

Wählen Sie die Datei entsprechend Ihren Anforderungen aus. Für Demozwecke habe ich die Datei wie unten gezeigt ausgewählt.

Nach der Auswahl ändert sich die Bezeichnung des Dialogfelds.

Es ist deutlich zu sehen, dass sich die Bezeichnung mit dem von mir gewählten Dateinamen ändert.

Wenn Sie auf die Schaltfläche Speichern anzeigen klicken, muss der Speicherort für die ausgewählte Datei ausgewählt werden.

Dann kann auf die Schaltfläche Speichern geklickt werden.

Fazit

In JavaFX werden mit der Dateiauswahl einzelne und mehrere Dateien durchsucht und gespeichert. Im Gegensatz zu anderen wird nur ein nicht parametrisierter Konstruktor verwendet. In diesem Dokument werden Syntax, Konstruktor, Methoden und Programm zur Implementierung von JavaFX File Chooser ausführlich erläutert.

Empfohlene Artikel

Dies ist eine Anleitung zu JavaFX FileChooser. Hier werden Syntax, Konstruktoren, Methoden und Beispiele erläutert, die mit geeigneten Codes und Ausgaben implementiert werden können. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren -

  1. JavaFX-Layouts
  2. JavaFX Label
  3. Überladen in Java
  4. Polymorphismus in Java
  5. JavaFX Slider
  6. Wie kann ich in JavaFX TextField Text eingeben?
  7. Was ist JavaFX?
  8. 3 Methoden von jQuery Slide mit Programmierung
  9. Eigenschaften mit Programm zum Implementieren von JavaFX-Text
  10. Werfen vs wirft | Die 5 wichtigsten Unterschiede, die Sie kennen sollten
  11. Wie erstelle ich ein Kontrollkästchen in JavaFX mit Beispielen?