JFileChooser Открывается дважды

#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 слушателя для одной и той же кнопки, большое спасибо!