В настоящее время я использую JFileChooser, однако, если пользователь нажмет кнопку «Отмена», файл никогда не будет выбран. Мне нужен способ заставить пользователя выбрать файл, чтобы процесс мог продолжиться, поэтому мне нужно либо отключить кнопку «Отмена», либо использовать другой метод (цикл while, который продолжает запускать средство выбора файла до тех пор, пока файл не станет нулевым или что-то подобное ).
Есть ли здесь рекомендации по самому чистому способу достижения этой цели? Было бы лучше использовать другой инструмент выбора файлов, например JavaFX? Я просто хочу убедиться, что получаю здесь лучшую практику. Было бы лучше завершить весь процесс и отобразить сообщение об ошибке, что процесс публикации не удался?
Вот текущий код, который используется для продолжения процесса независимо от выбора файла:
Вот текущий код, который используется для продолжения процесса независимо от выбора файла:
р>
Код: Выделить всё
File report = null;
JFileChooser chooser = new JFileChooser(new File("pathToDirectory")){
@Override
protected javax.swing.JDialog createDialog(java.awt.Component parent) throws java.awt.HeadlessException {
javax.swing.JDialog dialog = super.createDialog(parent);
if(SetupChooser.class.getResource("iconPath") != null)){
ImageIcon img = new ImageIcon(SetupChooser.class.getResource("iconPath"));
dialog.setIconImage(img.getImage());
}
return dialog;
}
};
chooser.setDialogTitle("Select the report to attach");
//if the user selects the approve option, get the selected file
//if the user does not hit the approve option, continue the process without the report file
int userOption = chooser.showOpenDialog(null);
if(userOption == JFileChooser.APPROVE_OPTION){
report = chooser.getSelectedFile();
} else {
System.out.println("No report selected - The report will not be published to the server");
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... validation