Просто имя файла не будет работать, если вы не в каталоге, потому что файл будет искать в текущем каталоге в открывшемся JFileChooser
. Вам нужно будет указать JFileChooser
полный абсолютный путь к файлу, а не просто имя файла
ПРИМЕЧАНИЕ: я просто имитирую его в Notepad ++, он просто говорит, что имя файла не может быть найдено, поэтому вы можете проверить существование файла перед другой операцией, добавьте этот фрагмент в свой код
JDialog.setDefaultLookAndFeelDecorated(true);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
FileFilter imageFilter = new FileNameExtensionFilter("Image files", ImageIO.getReaderFileSuffixes());
chooser.setFileFilter(imageFilter);
File file = chooser.getSelectedFile();
if (!file.exists()) {
JOptionPane.showMessageDialog(null, "The file "+file.getName()+"\ncannot be found !!!", JOptionPane.INFORMATION_MESSAGE);
showDialogAgain();
} else {
String filePath = file.getAbsolutePath();
icon = new ImageIcon(filePath);
...
}
}
...
Подробнее о JFileChooser Документация