如何在 JavaFX 中创建文件选择器?


使用 JavaFX 文件选择器可以打开文件、浏览文件并保存文件。类 javafx.stage.FileChooser 表示一个文件选择器,您可以使用它打开文件对话框、打开单个文件或多个文件。

您可以通过实例化这个类来在应用程序中创建一个文件选择器。这个类有 4 个属性 −

  • initialDirectory − 此属性指定文件选择器的初始目录。您可以使用 setInitialDirectory() 方法为其设置值。

  • selectedExtensionFilter − 此属性指定对话框中显示的扩展名过滤器。您可以使用 setSelectedExtensionFilter() 方法为其设置值。

  • Title − 此属性指定对话框的标题。您可以使用 setTitle() 方法为其设置值。

通过为 FileChooser 类创建实例并为必备属性设置值之后,您就可以在文件选择器中显示一个对话框以打开单个文件、打开多个文件或保存文件,分别通过调用 showOpenDialog()showOpenMultipleDialog()showSaveDialog() 方法实现。

示例

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.paint.Color;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.stage.FileChooser.ExtensionFilter;
public class FileChooserExample extends Application {
   public void start(Stage stage) {
      //Creating a menu
      Menu fileMenu = new Menu("File");
      //Creating menu Items
      MenuItem item = new MenuItem("Open Image");
      fileMenu.getItems().addAll(item);
      //Creating a File chooser
      FileChooser fileChooser = new FileChooser();
      fileChooser.setTitle("Open Image");
      fileChooser.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*.*"));
      //Adding action on the menu item
      item.setOnAction(new EventHandler<ActionEvent>() {
         public void handle(ActionEvent event) {
            //Opening a dialog box
            fileChooser.showOpenDialog(stage);
      }});
      //Creating a menu bar and adding menu to it.
      MenuBar menuBar = new MenuBar(fileMenu);
      menuBar.setTranslateX(3);
      menuBar.setTranslateY(3);
      //Setting the stage
      Group root = new Group(menuBar);
      Scene scene = new Scene(root, 595, 355, Color.BEIGE);
      stage.setTitle("File Chooser Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出

更新于: 18-May-2020

1K+ 浏览量

启动你的 职业

完成课程获得认证

开始使用
广告