Dúvidas com JFileChooser

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:

[code]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;
}[/code]

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

Tente removê-la.

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: )