#java #swing #jfilechooser
Вопрос:
Я пытаюсь создать приложение, в котором мне понадобится средство выбора файлов после нажатия определенной кнопки. Проблема в том, что когда я это делаю, после выбора нужного файла или нажатия кнопки отмена, JFileChooser открывается снова. Я просмотрел несколько страниц и, похоже, не могу найти решение. Заранее спасибо.
Вот мой код:
FileInputStream imatgeUp = null;
File arxiu = null;
if (comanda.equals("cercaImatge")) {
JFileChooser pickPic = new JFileChooser();
pickPic.setFileFilter(new FileNameExtensionFilter("Archivos de imagen", "jpg", "jpeg", "png"));
//int opcion = pickPic.showOpenDialog(addCar);
if (pickPic.showOpenDialog(addCar) == JFileChooser.APPROVE_OPTION) {
String ruta = pickPic.getSelectedFile().getAbsolutePath();
try {
arxiu = new File(ruta);
imatgeUp = new FileInputStream(arxiu);
Icon imatgeMostra = new ImageIcon(ruta);
imatgeEscollida.setIcon(imatgeMostra);
imatgeEscollida.setBounds(400, 250, 190, 122);
addCar.add(imatgeEscollida);
UploadImage.upImage(con, imatgeUp);
frame.revalidate();
frame.repaint();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Комментарии:
1. Вы пробовали распечатать сообщение непосредственно перед вызовом
showOpenDialog(...)
, чтобы убедиться, что ваш код не вызывается дважды?2. @Pieter12345 Я этого не пробовал, оказалось, что у меня было 2 слушателя для одной и той же кнопки, большое спасибо!