Dúvidas com JFileChooser

2 respostas
renanferreira

Pessoal, estou usando o JFileChooser para abiri e salvar um arquivo, mas quando clico a primeira vez no arquivo a janela some e abre uma nova e só aí consigo selecionar o arquivo ou diretório, alguém sabe me dizer o porque isso está acontecendo, segue o código que estou usando:

public static String getDirectoryOpen()
    {
        String directory;
        int open;
        JFileChooser chooser;
        
        directory = "";
        chooser = new JFileChooser();
        chooser.setMultiSelectionEnabled(false);
        chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        
        FileChooserLanguage.setLanguage();
        
        // showSaveDialog retorna um inteiro , e ele ira determinar que o chooser será para abrir.
        open = chooser.showOpenDialog(null); 
        
        System.out.print(open);
        
        if (open == JFileChooser.APPROVE_OPTION)
        {
            // o getSelectedFile pega o arquivo e o getAbsolutePath retorna uma string contendo o endereço.
            directory = chooser.getSelectedFile().getAbsolutePath();  
            
            return directory;
        }
        
        return directory;
    }

2 Respostas

fabiocortolan

Não testei mas acredito q o problema esteja nessa linha:

Tente removê-la.

E
chooser.showOpenDialog(null);

Nunca passe null para esse parãmetro - ele faz com que o diálogo apareça em um lugar indesejado (por exemplo, abaixo de outras janelas). Passe sempre o seu JFrame ou JDialog que chamou esse JFileChooser.

Se porventura você não tiver acesso a esse JFrame ou JDialog (por exemplo, é um código genérico que um botão genérico que pode ser incluído em qualquer diálogo), pode usar SwingUtilities.getRoot(), que retorna o JFrame ou JDialog ou JWindow onde o botão ou item do menu que disparou o seu método está hospedado. (É claro que você tem de passar o componente para getRoot :slight_smile: )

Criado 17 de julho de 2013
Ultima resposta 18 de jul. de 2013
Respostas 2
Participantes 3