Есть ли способ расширить каталог JFileChooser без мыши - PullRequest
5 голосов
/ 18 августа 2011

Используя JFileChooser, я могу выбрать каталог, дважды щелкнув по каталогу (переходя вниз по уровню) с помощью мыши.Есть ли способ выбрать каталог без мышки?Например, есть ли привязка клавиш для перехода на уровень каталога или мне нужно каким-то образом добавить прослушиватель ключей в JFileChooser?

Ответы [ 3 ]

2 голосов
/ 18 августа 2011

Вы должны иметь возможность использовать вкладку для перемещения между различными частями переключателя, а затем использовать клавиши со стрелками, чтобы изменить каталог, который выделен, а затем нажать клавишу «Ввод», чтобы изменить каталог на выделенный.

Я протестировал следующий пример кода на моей машине (Vista / JDK 1.6), и он работает так, как я ожидал:

import javax.swing.*;
public class test {
  public static void main(String[] args) {
      (new JFileChooser("")).showOpenDialog(new JFrame());
      System.out.println("OK!");
   }
}

Если ваш проект не отвечает аналогичным образом в вашем JFileChooser,Я бы отладил следующим образом:

  1. Создайте test.java только с кодом, необходимым для вызова средства выбора.
  2. Если тестовое приложение отличается от вашего приложения, это что-то в вашемкод, вызывающий его сбой, например код скинов пользовательского интерфейса, прослушиватели клавиатуры и т. д. Измените пример, по одному, за раз, чтобы точнее повторить настройки вашего выбора в приложении и посмотреть, сможете ли вы точно определить, где он ломается.
  3. Если даже базовое тестовое приложение не работает должным образом, это, вероятно, связано с вашей настройкой, например, с ошибкой в ​​вашей версии JDK, вашей ОС и т. Д. Устраните неполадки в вашей настройке.
1 голос
/ 18 августа 2011

Вы пробовали пробел или клавишу ввода?

0 голосов
/ 15 июля 2013

Попробуйте использовать Ctrl + Enter, чтобы выбрать каталог.Это происходит, когда вы устанавливаете JFileChooser в режим выбора файлов «файлы и директории»:

JFileChooser fileBrowser = new JFileChooser();
fileBrowser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
...