Que erro é esse de NullPointerExeception em um JFileChooser?

5 respostas
javer
Ocorre quando eu clico no botão Abrir (Open) de um JFileChooser, é um caso que o usuário precisa selecionar um diretório na máquina onde serão salvos arquivos magnéticos.
Tarefa: Basic L&F File Loading Thread

java.lang.NullPointerException
	at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
	at java.util.Arrays.asList(Arrays.java:3343)
	at sun.awt.shell.Win32ShellFolderManager2.isFileSystemRoot(Win32ShellFolderManager2.java:358)
	at sun.awt.shell.ShellFolder.isFileSystemRoot(ShellFolder.java:242)
	at javax.swing.filechooser.FileSystemView.isFileSystemRoot(FileSystemView.java:323)
	at javax.swing.filechooser.FileSystemView.getShellFolder(FileSystemView.java:531)
	at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:443)
	at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run0(BasicDirectoryModel.java:218)
	at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:211)

5 Respostas

V

tem como postar seu código?

javer

Sei lá porque mas coloquei um Exception genérico e a exceção nunca é disparada agora:

JFileChooser fileChooser = new JFileChooser(campoDiretorioEntrada.getText()); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); String novoLocal = ""; try { int option = fileChooser.showOpenDialog(frame); if (option == JFileChooser.APPROVE_OPTION) { novoLocal = fileChooser.getSelectedFile().getAbsolutePath(); campoDiretorioEntrada.setText(novoLocal); } } catch (Exception ex) { System.out.println("Exception"); ex.printStackTrace(); }

Geovane_Jair

Apesar do tópico ser um pouco antigo :oops: , mas tive o mesmo problema e resolvi comentando a linha:

//jFileChooser1.setFileSelectionMode(JFileChooser.FILES_ONLY);

Porque esse erro ocorre ainda não descobri :roll: , mas fica a dica.

Valeu

Rodrigo_Sasaki

Poste todo o código relacionado à utilização do JFileChooser

Geovane_Jair

Olá DigaoNeves

segue trecho:

private void AbrirArquivo() throws IOException, NoPlayerException{
        File arquivo = null;
        //jFileChooser1.setFileSelectionMode(JFileChooser.FILES_ONLY);
        jFileChooser1.setAcceptAllFileFilterUsed(false);
        jFileChooser1.setMultiSelectionEnabled(false);
        jFileChooser1.addChoosableFileFilter(new FileNameExtensionFilter("QuickTime movie (*.mov)", "mov"));
        
        int resultado = jFileChooser1.showOpenDialog(this);
                  if(resultado == JFileChooser.APPROVE_OPTION){
                        arquivo = jFileChooser1.getSelectedFile();
                        caminhoarquivo = jFileChooser1.getSelectedFile().getAbsolutePath();

                        PrepararVideo(arquivo);
                  }else{
                        arquivo = null;
                  }
   
     }

Obrigado pela atenção.

Criado 7 de fevereiro de 2011
Ultima resposta 19 de jun. de 2012
Respostas 5
Participantes 4