当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 FileChooser用法及代码示例


FileChooser类是JavaFX的一部分。它用于调用用于选择单个文件的文件打开对话框(showOpenDialog),用于选择多个文件的文件打开对话框(showOpenMultipleDialog)和文件保存对话框(showSaveDialog)。 FileChooser类继承Object类。

该类的构造函数是:

  • FileChooser() :创建一个新的FileChooser对话框。

常用方法:


方法 说明
getInitialDirectory() 返回文件选择器的初始目录。
getTitle() 返回文件选择器的标题。
setInitialDirectory(File f) 设置文件选择器的初始目录。
setTitle(String t) 设置文件选择器的标题。
showOpenDialog(Window w) 显示一个新的打开文件选择对话框。
setInitialFileName(String n) 设置文件选择器的初始文件名。
showSaveDialog(Window w) 显示一个新的“保存文件选择”对话框。
getInitialFileName() 返回文件选择器的初始文件名。

以下程序说明了FileChooser类的用法:

  1. Java程序创建fileChooser并将其添加到阶段:在此程序中,我们将创建一个名为file_chooser的文件选择器。然后创建一个名为label的Label和两个名为button和button1的Button。我们将创建两个EventHandler来处理按下button或button1时的事件。当按下按钮时,将显示一个打开的文件选择器对话框,并且所选文件在标签中显示为文本;当按下button1时,一个保存文件选择器出现,并且所选文件在标签中显示为文本。将标签和按钮添加到Vbox,将VBox添加到场景,并将场景添加到舞台,然后调用show()函数以显示最终结果。
    // Java Program to create fileChooser 
    // and add it to the stage 
    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.scene.paint.*; 
    import javafx.scene.canvas.*; 
    import javafx.scene.text.*; 
    import javafx.scene.Group; 
    import javafx.scene.shape.*; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.collections.*; 
    import java.io.*; 
    import javafx.stage.FileChooser; 
       
    public class FileChooser_1 extends Application { 
       
    // launch the application 
    public void start(Stage stage) 
    { 
      
        try { 
      
            // set title for the stage 
            stage.setTitle("FileChooser"); 
      
            // create a File chooser 
            FileChooser fil_chooser = new FileChooser(); 
      
            // create a Label 
            Label label = new Label("no files selected"); 
      
            // create a Button 
            Button button = new Button("Show open dialog"); 
      
            // create an Event Handler 
            EventHandler<ActionEvent> event =  
            new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
      
                    // get the file selected 
                    File file = fil_chooser.showOpenDialog(stage); 
      
                    if (file != null) { 
                          
                        label.setText(file.getAbsolutePath()  
                                            + "  selected"); 
                    } 
                } 
            }; 
      
            button.setOnAction(event); 
      
            // create a Button 
            Button button1 = new Button("Show save dialog"); 
      
            // create an Event Handler 
            EventHandler<ActionEvent> event1 =  
             new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
      
                    // get the file selected 
                    File file = fil_chooser.showSaveDialog(stage); 
      
                    if (file != null) { 
                        label.setText(file.getAbsolutePath()  
                                            + "  selected"); 
                    } 
                } 
            }; 
      
            button1.setOnAction(event1); 
      
            // create a VBox 
            VBox vbox = new VBox(30, label, button, button1); 
      
            // set Alignment 
            vbox.setAlignment(Pos.CENTER); 
      
            // create a scene 
            Scene scene = new Scene(vbox, 800, 500); 
      
            // set the scene 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        catch (Exception e) { 
      
            System.out.println(e.getMessage()); 
        } 
    } 
      
    // Main Method 
    public static void main(String args[]) 
    { 
      
        // launch the application 
        launch(args); 
    } 
    }

    输出:

  2. Java程序创建FileChooser,设置标题,初始File并将其添加到阶段:在此程序中,我们将创建一个名为fil_chooser的文件选择器。然后创建一个名为label的Label和两个名为button和button1的Button。使用setTitle()和setInitialDirectory()函数设置文件选择器的标题和初始目录。现在创建两个EventHandler来处理按下button或button1时的事件。当按下按钮时,将显示一个打开的文件选择器对话框,并且所选文件在标签中显示为文本;当按下button1时,一个保存文件选择器出现,并且所选文件在标签中显示为文本。将标签和按钮添加到Vbox,将VBox添加到场景,并将场景添加到舞台,然后调用show()函数以显示最终结果。
    // Java Program to create FileChooser 
    // & set title, initial File 
    // and add it to the stage 
    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.scene.paint.*; 
    import javafx.scene.canvas.*; 
    import javafx.scene.text.*; 
    import javafx.scene.Group; 
    import javafx.scene.shape.*; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.collections.*; 
    import java.io.*; 
    import javafx.stage.FileChooser; 
       
    public class FileChooser_2 extends Application { 
      
    // launch the application 
    public void start(Stage stage) 
    { 
      
        try { 
      
            // set title for the stage 
            stage.setTitle("FileChooser"); 
      
            // create a File chooser 
            FileChooser fil_chooser = new FileChooser(); 
      
            // set title 
            fil_chooser.setTitle("Select File"); 
      
            // set initial File 
            fil_chooser.setInitialDirectory(new File("e:\\")); 
      
            // create a Label 
            Label label = new Label("no files selected"); 
      
            // create a Button 
            Button button = new Button("Show open dialog"); 
      
            // create an Event Handler 
            EventHandler<ActionEvent> event =  
            new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
      
                    // get the file selected 
                    File file = fil_chooser.showOpenDialog(stage); 
      
                    if (file != null) { 
                        label.setText(file.getAbsolutePath()  
                                            + "  selected"); 
                    } 
                } 
            }; 
      
            button.setOnAction(event); 
      
            // create a Button 
            Button button1 = new Button("Show save dialog"); 
      
            // create an Event Handler 
            EventHandler<ActionEvent> event1 =  
             new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
      
                    // get the file selected 
                    File file = fil_chooser.showSaveDialog(stage); 
      
                    if (file != null) { 
                        label.setText(file.getAbsolutePath()  
                                            + "  selected"); 
                    } 
                } 
            }; 
      
            button1.setOnAction(event1); 
      
            // create a VBox 
            VBox vbox = new VBox(30, label, button, button1); 
      
            // set Alignment 
            vbox.setAlignment(Pos.CENTER); 
      
            // create a scene 
            Scene scene = new Scene(vbox, 800, 500); 
      
            // set the scene 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        catch (Exception e) { 
      
            System.out.println(e.getMessage()); 
        } 
    } 
      
    // Main Method 
    public static void main(String args[]) 
    { 
      
        // launch the application 
        launch(args); 
    } 
    }

    输出:

注意:以上程序可能无法在在线IDE中运行,请使用离线编译器。

参考: https://docs.oracle.com/javase/8/javafx/api/javafx/stage/FileChooser.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | FileChooser Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。