Inleiding tot JavaFX FileChooser

In JavaFX is FileChooser een klasse die wordt gebruikt om door de bestanden van het systeem te bladeren. Verschillende bewerkingen omvatten het openen van een enkel bestand, het openen van meerdere bestanden en het opslaan van bestanden in het systeem. JavaFX-bestandskiezer wordt geïnstantieerd uit de klasse javafx.stage.FileChooser. De syntaxis, statussen, constructors en een voorbeeld van JavaFX FileChooser worden in de volgende secties besproken.

Syntaxis:

JavaFX-bestandskiezer kan worden gemaakt met behulp van de onderstaande syntaxis:

FileChooser fl = new FileChooser();

Zorg ervoor dat de klasse javafx.stage.FileChooser is geïmporteerd voordat het JavaFX-programma wordt geschreven.

JavaFX FileChooser Constructors

Er is slechts één constructor voor JavaFX FileChooser. Dat is,

FileChooser (): er wordt een dialoogvenster FileChooser gemaakt

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

Methoden van JavaFX FileChooser

Hier volgen enkele van de meest gebruikte methoden in JavaFX FileChooser:

  • getTitle (): de titel van de bestandskiezer wordt geretourneerd.
  • setTitle (String s): de titel van de bestandskiezer wordt ingesteld.
  • getInitialDirectory (): de oorspronkelijke map van de bestandskiezer wordt geretourneerd.
  • setInitialDirector (bestand f): de oorspronkelijke map van de bestandskiezer wordt ingesteld.
  • setInitialFileName (String s): de oorspronkelijke bestandsnaam van de bestandskiezer wordt ingesteld.
  • getInitialFileName (): de oorspronkelijke bestandsnaam van de bestandskiezer wordt geretourneerd.
  • showOpenDialog (Window wn): Er verschijnt een dialoogvenster met een nieuwe open bestandsselectie.
  • showSaveDialog (Window wn): Er verschijnt een dialoogvenster met een nieuwe selectie voor het opslaan van bestanden.

Hoe maak je een FileChooser aan?

Er zijn verschillende stappen om een ​​FileChooser te maken.

Stap 1: Maak een FileChooser. Om een ​​FileChooser te maken, kan de volgende syntaxis worden gebruikt:

FileChooser fc = new FileChooser();

Stap 2: Maak de verticale doos. Maak in deze stap als volgt een verticaal vak.

VBox vb = new VBox();

Stap 3: Voeg FileChooser aan de Scene Graph toe. Nadat u een verticaal vak hebt gemaakt, voegt u de FileChooser toe aan de scènegrafiek met behulp van de onderstaande stappen.

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

Programma om JavaFX FileChooser te implementeren

Laten we nu eens kijken naar de implementatie van de JavaFX-bestandskiezer:

Voorbeeld 1

Java-programma om FileChooser te demonstreren die door de bestandslocatie bladert.

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

Uitvoer: er verschijnt een dialoogvenster waarin de gebruiker de locatie kan selecteren om door elk bestand te bladeren dat hij nodig heeft. Ook is te zien dat een bestandstitel linksboven in het dialoogvenster wordt weergegeven.

Voorbeeld 2

Het programma dat een bestand kiest en opslaat met behulp van een knop en een gebeurtenishandler.

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

Output:

Een dialoogvenster zoals hieronder getoond zal verschijnen bij het uitvoeren van de code.

Als u op de knop Dialoogvenster klikken klikt, wordt de map E geopend met een optie om een ​​bestand te selecteren. (E-map is geselecteerd zoals we het in de code hebben genoemd).

Selecteer het bestand op basis van uw vereisten. Voor demo-doeleinden heb ik het bestand gekozen zoals hieronder getoond.

Na selectie zal er een wijziging in het label van het dialoogvenster zijn.

Het is duidelijk te zien dat het label verandert met de bestandsnaam die ik heb geselecteerd.

Als u op de knop Opslaan opslaan klikt, moet u de locatie selecteren om het gekozen bestand op te slaan.

Vervolgens kunt u op de knop Opslaan klikken.

Conclusie

In JavaFX worden bestandskiezers gebruikt om door afzonderlijke bestanden en meerdere bestanden te bladeren en deze op te slaan. In tegenstelling tot anderen, gebruikt het alleen een niet-geparametriseerde constructor. In dit document worden syntaxis, constructor, methoden en programma's voor het implementeren van JavaFX File Chooser duidelijk besproken.

Aanbevolen artikelen

Dit is een handleiding voor JavaFX FileChooser. Hier bespreken we syntaxis, constructors, methoden en voorbeelden om te implementeren met de juiste codes en outputs. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie -

  1. JavaFX-indelingen
  2. JavaFX-label
  3. Overbelasting in Java
  4. Polymorfisme op Java
  5. JavaFX-schuifregelaar
  6. Hoe tekst in te voeren in JavaFX TextField?
  7. Wat is JavaFX?
  8. 3 Methoden van jQuery Slide met programmeren
  9. Eigenschappen met programma om JavaFX-tekst te implementeren
  10. Gooien versus Gooien | Top 5 verschillen die u moet weten
  11. Hoe maak je een checkbox in JavaFX met voorbeelden?