Introdução ao JavaFX FileChooser

No JavaFX, o FileChooser é uma classe usada para procurar os arquivos do sistema. Várias operações incluem abrir um único arquivo, abrir vários arquivos e salvar arquivos no sistema. O seletor de arquivos JavaFX é instanciado a partir da classe javafx.stage.FileChooser. A sintaxe, os estados, os construtores e o exemplo do JavaFX FileChooser serão discutidos nas seções a seguir.

Sintaxe:

O seletor de arquivos JavaFX pode ser criado usando a sintaxe abaixo:

FileChooser fl = new FileChooser();

Certifique-se de que a classe javafx.stage.FileChooser seja importada antes de gravar o programa JavaFX.

Construtores JavaFX FileChooser

Existe apenas um construtor para o JavaFX FileChooser. Isso é,

FileChooser (): Uma caixa de diálogo FileChooser será criada

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

Métodos do JavaFX FileChooser

A seguir, estão alguns dos métodos mais usados ​​no JavaFX FileChooser:

  • getTitle (): o título do seletor de arquivos será retornado.
  • setTitle (String s): O título do seletor de arquivos será definido.
  • getInitialDirectory (): o diretório inicial do seletor de arquivos será retornado.
  • setInitialDirector (arquivo f): O diretório inicial do seletor de arquivos será definido.
  • setInitialFileName (String s): O nome do arquivo inicial do seletor de arquivos será definido.
  • getInitialFileName (): o nome do arquivo inicial do seletor de arquivos será retornado.
  • showOpenDialog (Window wn): Uma caixa de diálogo aparece com uma nova seleção de arquivo aberta.
  • showSaveDialog (Window wn): Uma caixa de diálogo aparece com uma nova seleção de arquivo salvo.

Como criar um FileChooser?

Existem várias etapas para criar um FileChooser.

Etapa 1: Crie um FileChooser. Para criar um FileChooser, a seguinte sintaxe pode ser usada:

FileChooser fc = new FileChooser();

Etapa 2: Crie a caixa vertical. Nesta etapa, crie uma caixa vertical da seguinte maneira.

VBox vb = new VBox();

Etapa 3: adicione o FileChooser criado ao gráfico de cena. Após a criação de uma caixa vertical, adicione o FileChooser ao gráfico da cena usando as etapas abaixo.

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

Programa para implementar o JavaFX FileChooser

Agora, vamos dar uma olhada na implementação do seletor de arquivos JavaFX:

Exemplo 1

Programa Java para demonstrar o FileChooser que navega no local do arquivo.

Código:

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

Saída: Uma caixa de diálogo é exibida na qual o usuário pode selecionar o local para procurar qualquer arquivo necessário. Além disso, pode ser visto que um título de arquivo é exibido no canto superior esquerdo da caixa de diálogo.

Exemplo 2

O programa que escolhe um arquivo e o salva com a ajuda de um botão e um manipulador de eventos.

Código:

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

Resultado:

Uma caixa de diálogo, como mostrado abaixo, aparecerá ao executar o código.

Ao clicar no botão Mostrar caixa de diálogo, a pasta E será aberta com uma opção para selecionar um arquivo. (A pasta E é selecionada como mencionamos no código).

Selecione o arquivo com base em seus requisitos. Para fins de demonstração, escolhi o arquivo como mostrado abaixo.

Após a seleção, haverá uma alteração no rótulo da caixa de diálogo.

Pode-se ver claramente que o rótulo muda com o nome do arquivo que eu selecionei.

Ao clicar no botão de diálogo Mostrar Salvar, o local para salvar o arquivo escolhido deve ser selecionado.

Em seguida, o botão Salvar pode ser clicado.

Conclusão

No JavaFX, os seletores de arquivos são usados ​​para navegar e salvar arquivos únicos e vários arquivos. Ao contrário de outros, ele usa apenas um construtor não parametrizado. Neste documento, sintaxe, construtor, métodos e programa para implementar o JavaFX File Chooser são claramente discutidos.

Artigos recomendados

Este é um guia para o JavaFX FileChooser. Aqui discutimos sintaxe, construtores, métodos e exemplos a serem implementados com códigos e saídas apropriados. Você também pode consultar nossos outros artigos relacionados para saber mais -

  1. Layouts JavaFX
  2. Etiqueta JavaFX
  3. Sobrecarga em Java
  4. Polimorfismo em Java
  5. Slider JavaFX
  6. Como inserir texto no JavaFX TextField?
  7. O que é JavaFX?
  8. 3 Métodos de jQuery Slide com Programação
  9. Propriedades com programa para implementar texto JavaFX
  10. Jogue vs Joga | As 5 principais diferenças que você deve saber
  11. Como criar a caixa de seleção no JavaFX com exemplos?