Erro no JFileChooser

6 respostas
oitathi

Gente, tenho um JFileChooser, que funciona certo quando eu tento abrir um arqui, porem, quando eu clico na opção cancelar dah erro.

public void actionPerformed(ActionEvent e) {
                fc = new JFileChooser(principal.mp.getCaminho());
                int result = fc.showOpenDialog(null);
                String path = fc.getSelectedFile().getParent();
                principal.mp.setCaminho(path);
                switch (result) {
                    case JFileChooser.APPROVE_OPTION:
                        File f = (fc.getSelectedFile());
                        if (f.toString().toLowerCase().endsWith(".map")) {
                    try {
                        new Janela(principal, f);
                    } catch (FileNotFoundException ex) {
                        Logger.getLogger(JanelaHum.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IOException ex) {
                        Logger.getLogger(JanelaHum.class.getName()).log(Level.SEVERE, null, ex);
                    }
                        }//end if
                        dispose();
                        break;
                    case JFileChooser.CANCEL_OPTION:
                        System.exit(0);
                        break;
                    case JFileChooser.ERROR_OPTION:
                        JOptionPane.showMessageDialog(null, "Caminho nao encontrado!");
                        break;
                }//end switch
            }//end metodo
        });//end internal class

Alguém sabe o motivo?

6 Respostas

zoren

Que erro que dá?

aparentemente, você não trata se a ação de cancelar for escolhida.

Nunca usei o JFileChoser, mas acredito que mesmo que alguém clique em cancelar, a execução do seu método continua.

oitathi

por isso mesmo que eu escrevi:

case JFileChooser.CANCEL_OPTION:   
                       System.exit(0);   
                       break;   
  case JFileChooser.ERROR_OPTION:   
                       JOptionPane.showMessageDialog(null, "Caminho nao encontrado!");
zoren

E qual o erro que dá?

E qual linha que dispara o erro?

oitathi

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
nessa linha:

String path = fc.getSelectedFile().getParent();
zoren

É por que não teve nenhum arquivo selecionado.

Ai não existe a pasta de onde vem o arquivo, acredito que seria isso que aquele método retorna.

oitathi

Ah !!! Era isso mesmo!!!
:smiley:
Valeu!!!

Criado 24 de novembro de 2010
Ultima resposta 24 de nov. de 2010
Respostas 6
Participantes 2