Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4615460

Enhancements to Swing/JFileChooser for IDE tools

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P3 P3
    • None
    • 5.0
    • client-libs

      Name: ca25432 Date: 12/18/2001


      Improve File Chooser functionality (1.3.1). The other choosers should have a
      high quality L&F too.
      Smaller title bars for internal frames. Instantiate components in their own
      sandbox.

      Add new components to refresh platform but make them extensible so that tools
      can override them

      JFileChooser could be improved with

      1. Fast and simple keyboard navigation, ie when in file-only-selection mode; directory movement involves the keyboard sequence "Tab Enter Shift-Tab"!

      1a. In 1.4 it is still not obvious when focus moves into the file pane
      (which is where you most want it to be until you have found the right
      directory) - sometimes the pane is selected for scrolling but without
      any file being selected , sometimes (if there are
      no scrollbars?) moving arrow keys will refuse to select a file but
      pressing an initial letter will select one and then arrow keys will work.

      1b. Enter key on a directory in the full-details-mode moves to the next
      item, unlike in the simple-icon mode where it moves into that directory
      After the end of the list, it begins selecting the Size column of the first item, etc. This behavior might seem natural in a spreadsheet, but it certainly feels weird in a file chooser. And Tab in this mode moves within the file pane
      rather than out of it which requires Ctrl-Tab, which is technically
      correct if as a user you are thinking of what you are doing as moving in
      a table and not a filechooser.

      1c. The "Up" button etc. should preferably have mnemonics on them;
      tabbing into them and pressing Space is clumsy and time-consuming.

      1d. Page Up and Page Down in the file pane (icon view) seem to work
      weirdly - in one case I see with many files, Page Down just toggles
      between two horizontally adjacent icons in the middle of the pane, and
      Page Up gets stuck on one icon just above the left one. (Home and End
      work sensibly.)

      1e. Pressing a letter repeatedly appears to cycle between files and
      folders starting with that letter. Fine, but in the case of the files it
      does not select them in the file pane if they are not visible in the
      current scrolling area (icon view) so you can see what files are around
      them. Directories are handled correctly.

      2. Renaming a folder in a file chooser is not a common activity, it should be
      presented as a separate button I think. However when creating a new folder, called NewFolder, it fails to select it for renaming immediately, which
      you would always want I think. Focus/selection should stay on the
      renamed folder. Currently it is moved to its new sorting position, which
      may be screenfuls away from where the selection currently is, so it
      looks like the folder just disappeared.

      3. Nice to see that typing "*.gif ENTER" into the File Name textfield
      changes the filter, thanks. Odd that you cannot type a new filter into
      the filter pulldown however (i.e. it is not a combo box).

      4. Most desired feature: smooth autocompletion of filenames and folders
      etc. Try out the GNOME (GTK+) filechooser for an example (or Emacs for
      that matter, which gets along quite well with no GUI at all). This one
      feature would make the filechooser feel vastly more comfortable and make
      the business of actually choosing a file much quicker, at least for an
      experienced user. Swing has to be consistent with regards to use of Tab,
      so probably that is not a good key to use for the purpose. However in
      JFileChooser I would like to see: filenames can be completed with the
      Space key (with the currently matching completions being displayed in
      the file scroll area), and "dir/" or "dir\" move into a directory, and
      "../" or "..\" as appropriate move up a directory, and root names
      ("/home/", "c:\" etc.) switch to the appropriate root.

      4a. So after some experimentation it seems that you *can* do some of
      this in 1.4. But it gives you no feedback or hint that you can. In the
      File Name pane you can type a dir name, "..", "~", a root name, etc.,
      and it will mostly do the right thing - nice. But it does not show
      completions automatically, and some things behave strangely... for
      example while in /, I typed "op Enter" expecting it to either go into
      /opt or beep or something - instead it finished the filechooser with /
      selected, ignoring the "op" in the File Name field.

      4b. Also missing some way to complete directory names; for files at
      least you can type "prefix* Enter" to see (but not type) matching names.
      And if there are more subdirectories than will fit in the scroll area,
      you cannot see the filenames even with such a wildcard mask, so you need
      to Shift-Tab back into it anyway.

      5. On Linux it seems that sockets (ls -l: srwxrwxr-x) appear in the file
      chooser as selectable files, but you cannot actually select them: you
      can move the cursor frame over them but they will not be selected.
      Somewhat confusing if you happen to be roaming in /tmp/ and moving over
      one. If a name does not represent either a folder or a file, it ought
      not appear I think.

      6. Pressing Alt-I to get the "Look In:" popup does not also post the
      popup menu (you need to then press Space to do that).

      6a. If you started in "/tmp" and press Up Arrow, it correctly selects
      "/" (and displays contents of root directory) but then "/tmp" disappears
      from the list, so you cannot change your mind! The contents of the popup
      should not change while it is open.

      This applies to Metal L&F of JFileChooser.

      ======================================================================

      NOTE: refer to comments for additional information as to what NetBeans would like.

            leifs Leif Samuelsson (Inactive)
            caustinsunw Calvin Austin (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: