Как сделать поле «Искать в» в JFileChooser редактируемым в Windows? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть простой jFileChooser для открытия файлов.Это код:

    JFileChooser diagOpen = new JFileChooser(myFolder);

    diagOpen.setFileSelectionMode(JFileChooser.FILES_ONLY);

    if (diagOpen.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
        return diagOpen.getSelectedFile().getPath();
    else
        return null;

Это результат:

enter image description here

Моя система на испанском, и я используюWindows 7 с Java 8. Мне нужно сделать поле «Buscar en» («Искать в») доступным для редактирования, чтобы пользователь мог написать желаемый путь и перенаправиться туда при нажатии клавиши ввода (это диалоговое окно Windows Open по умолчанию)работает).Я изучил свойства и параметры jFileChooser и прочитал несколько учебных пособий, но не могу найти, как это сделать.

Я попробовал вариант jFileChooser.FILES_AND_DIRECTORIES, но безуспешно.

1 Ответ

0 голосов
/ 14 ноября 2018

Я просмотрел свойства и параметры jFileChooser,

Нет свойства, позволяющего вам это сделать.

Мне нужно сделатьредактируемое поле «Buscar en» («Искать в»),

Вы можете использовать класс Swing Utils , чтобы получить доступ к комбинированному списку средства выбора файлов и сделать его редактируемым.

Код будет просто:

JFileChooser jFileChooser = new JFileChooser();
JComboBox jComboBox = SwingUtils.getDescendantsOfType(JComboBox.class, jFileChooser).get(0);
jComboBox.setEditable(true);
jFileChooser.showOpenDialog(null);

Однако это все равно не решит проблему, потому что все типы пользователей будут сохранены как String в поле со списком исредство выбора файлов ожидает объект File, поэтому я получаю ClassCastException при попытке его выполнить.

Но это может сделать вас на один шаг ближе к решению вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...