JavaFX FileChooser文件选择器

JavaFX 文件选择器使用户能够浏览文件系统中的文件。javafx.stage.FileChooser类代表 文件选择器。它可以通过实例化 FileChooser 类来创建。它包含两个主要方法。

正如我们在现代应用程序中看到的那样,向用户显示两种类型的对话框,一种用于打开文件,另一种用于保存文件。在每种情况下,用户都需要浏览文件的位置并为文件命名。

FileChooser 类提供两种类型的方法,

  1. showOpenDialog()
  2. showSaveDialog()

以下代码实现了showSaveDialog()方法。

FileChooser 案例1

package com.yiidian;

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

public class FileChooserExample extends Application {
  
    @Override  
    public void start(Stage primaryStage) throws Exception {
        FileChooser file = new FileChooser();
        file.setTitle("请选择文件");  
        file.showOpenDialog(primaryStage);  
          
        HBox root = new HBox();
          
        root.setSpacing(20);  
      
        Scene scene = new Scene(root,350,100);
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:FileChooser Example");
        primaryStage.show();  
          
    }  
    public static void main(String[] args) {  
        launch(args);  
    }  
  
}  

上面的代码向用户显示了以下对话框,其中提示用户浏览需要打开的文件的位置。

FileChooser 案例2

以下代码向用户显示了一个 Label、TextField 和一个 Button。单击浏览按钮将打开一个打开文件对话框。

package com.yiidian;

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;

public class FileChooserExample extends Application {
  
    @Override  
    public void start(Stage primaryStage) throws Exception {
        Label label = new Label("请选择文件:");
        TextField tf= new TextField();
        Button btn = new Button("浏览");
        btn.setOnAction(e->  
        {  
            FileChooser file = new FileChooser();
            file.setTitle("Open File");  
            file.showOpenDialog(primaryStage);  
        });  
        HBox root = new HBox();
          
        root.setSpacing(20);  
        root.getChildren().addAll(label,tf,btn);  
        Scene scene = new Scene(root,350,100);
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:FileChooser Example");
        primaryStage.show();  
          
    }  
    public static void main(String[] args) {  
        launch(args);  
    }  
  
}  

输出结果为:

FileChooser 保存文件的案例

以下代码显示了保存文件的对话框。

package com.yiidian;

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;

public class MainClass extends Application {
    public static void main(String[] args) {
    launch(args);
    }
    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button("保存");
        btn.setOnAction(e->
        {
            FileChooser file = new FileChooser();
            file.setTitle("保存图片");
            File file1 = file.showSaveDialog(primaryStage);
            System.out.println(file1);
        });

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

输出结果为:

热门文章

优秀文章