Подтвердить что ты не робот

Как использовать FileDialog?

Я создал интерфейс, и я хотел бы добавить функцию, которая позволяет пользователю открывать файл. Я использую AWT. Я не понимаю, как использовать FileDialog. Не могли бы вы привести мне пример или хорошую ссылку, объясняющую это?

4b9b3361

Ответ 1

Полный пример кода с фильтрацией файлов:

FileDialog fd = new FileDialog(yourJFrame, "Choose a file", FileDialog.LOAD);
fd.setDirectory("C:\\");
fd.setFile("*.xml");
fd.setVisible(true);
String filename = fd.getFile();
if (filename == null)
  System.out.println("You cancelled the choice");
else
  System.out.println("You chose " + filename);

Ответ 2

Чтобы добавить к ответу @TheBronx - для меня fd.setFile("*.txt"); не работает на OS X. Это работает:

fd.setFilenameFilter(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith(".txt");
    }
});

Или как фантазия Java 8 лямбда:

fd.setFilenameFilter((dir, name) -> name.endsWith(".txt"));

Ответ 3

Здесь несколько примеров кода здесь, которые демонстрируют, как использовать его для различных задач.

Тем не менее, вы можете сделать шаг назад и проверить, является ли это наилучшей задачей для работы здесь. Есть веские причины использовать его над чем-то вроде swing/swt, конечно, но если вы только начинаете, то Swing, ИМО будет лучшим выбором (там больше компонентов, больше учебников и более широко запрошенной библиотеки для работы с в эти дни.)