FileChooser setInitialFileName() is ignored on file open dialog and initial filename remains empty

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P3
    • jfx27
    • Affects Version/s: 8u481, jfx11, jfx17, jfx21, jfx25, jfx26
    • Component/s: javafx

      ADDITIONAL SYSTEM INFORMATION :
      Windows 11 25H2
      Ubuntu 24.04.3 LTS

      A DESCRIPTION OF THE PROBLEM :
      FileChooser.setInitialFileName() is ignored on file open dialog
      The filename edit box remains empty and the filename is not selected on the files list view.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Create folder tmp on the drive root.
      Create multiple files with .txt extension
      Using javafx.stage.FileChooser fileChooser and javafx.stage.State primaryStage

      String directoryPath = new String("/tmp");
      String fileName = new String( ... existing filename .txt which is not the first ... );

      FileChooser fileChooser = new FileChooser();
      fileChooser.setTitle("Open File");
      FileChooser.ExtensionFilter extFilter =
      new FileChooser.ExtensionFilter("Text files (*.txt)", "*.txt");
      fileChooser.getExtensionFilters().add(extFilter);

      fileChooser.setInitialDirectory(new File(directoryPath));
      fileChooser.setInitialFileName(fileName);

      File file = fileChooser.showOpenDialog(primaryStage);


      ---------- BEGIN SOURCE ----------
      package application;

      import java.io.File;
      import javafx.application.Application;
      import javafx.stage.Stage;
      import javafx.scene.Scene;
      import javafx.scene.layout.BorderPane;
      import javafx.stage.FileChooser;

      public class Main extends Application {
      @Override
      public void start(Stage primaryStage) {
      try {
      BorderPane root = new BorderPane();
      Scene scene = new Scene(root,400,400);
      scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
      primaryStage.setScene(scene);
      primaryStage.show();

      String directoryPath = new String("/tmp");
      String fileName = new String("test.txt");

      FileChooser fileChooser = new FileChooser();
      fileChooser.setTitle("Open File");
      FileChooser.ExtensionFilter extFilter =
      new FileChooser.ExtensionFilter("Text files (*.txt)", "*.txt");
      fileChooser.getExtensionFilters().add(extFilter);

      fileChooser.setInitialDirectory(new File(directoryPath));
      fileChooser.setInitialFileName(fileName);

      File file = fileChooser.showOpenDialog(primaryStage);

      } catch(Exception e) {
      e.printStackTrace();
      }
      }

      public static void main(String[] args) {
      launch(args);
      }
      }

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Select the file manually like initial filename was not provided at all.


      FREQUENCY :
      ALWAYS

        1. Main.java
          1 kB
          Praveen Narayanaswamy
        2. Screenshot.png
          38 kB
          Praveen Narayanaswamy

            Assignee:
            Ambarish Rapte
            Reporter:
            Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: