JFileChooser showSaveDialog показать сообщение об ошибке, когда имя файла пустое или пустое - PullRequest
0 голосов
/ 29 ноября 2018

Код работает для проверки непустого / пробельного AbsolutePath, но не тогда, когда AbsolutePath просто пуст.Нажатие кнопки «Сохранить» ничего не делает, и JFileChooser остается в showSaveDialog ().

Я хочу показать сообщение об ошибке JOptionPane, когда пользователь пытается сохранить файл с пустым пробельным именем.

    try {
        JFileChooser chooser = new JFileChooser("./");
        FileNameExtensionFilter filter = new FileNameExtensionFilter("files (txt)", "txt");
        chooser.setFileFilter(filter);
        chooser.setMultiSelectionEnabled(false);
        chooser.setSelectedFile(new File(fileName));

        int value = chooser.showSaveDialog(this);
        if (value == JFileChooser.APPROVE_OPTION) {
            String filename = chooser.getSelectedFile().getAbsolutePath();
            if (chooser.getSelectedFile().getName().trim().equals("")
                    || !chooser.getSelectedFile().getName().endsWith(".txt")
                    || chooser.getSelectedFile().getName().replaceAll(".txt", "").trim().equals("")) {
                throw new IllegalArgumentException();
            }
            saveFile(filename);
        }

    } catch (IllegalArgumentException e) {
        JOptionPane.showMessageDialog(this, "Fail! File was not saved", "Error", JOptionPane.ERROR_MESSAGE);
    }

1 Ответ

0 голосов
/ 01 декабря 2018

Clicking save does nothing and the JFileChooser stays in showSaveDialog(). как сказал @camickr выше: this is the built in functionality of the JFileChooser and has nothing to do with your code. The file chooser doesn't close unless you enter a filename (and click Save) or use the Cancel button..

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