如何使用 JavaFX 创建文件选择器?

javafxobject oriented programmingprogramming更新于 2025/4/14 11:37:17

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

您可以通过实例化此类在应用程序中创建文件选择器。此类具有属性 −

  • 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) {
      //创建菜单
      Menu fileMenu = new Menu("File");
      //创建菜单项
      MenuItem item = new MenuItem("Open Image");
      fileMenu.getItems().addAll(item);
      //创建文件选择器
      FileChooser fileChooser = new FileChooser();
      fileChooser.setTitle("Open Image");
      fileChooser.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*.*"));
      //在菜单项上添加操作
      item.setOnAction(new EventHandler<ActionEvent>() {
          public void handle(ActionEvent event) {
            //打开对话框
            fileChooser.showOpenDialog(stage);
      }});
      //创建菜单栏并向其添加菜单。
      MenuBar menuBar = new MenuBar(fileMenu);
      menuBar.setTranslateX(3);
      menuBar.setTranslateY(3);
      //设置舞台
      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);
   }
}

输出


相关文章