Dúvida JFileChooser

2 respostas
G

Olá!

Como detecto se O JFilChooser foi fechado?

Obrigado.

2 Respostas

R

Verifique o valor retornado pelos métodos showOpenDialog() e showSaveDialog():

if (fileChooser.showOpenDialog() != JFileChooser.APPROVE_OPTION) {
  // Usuário NÃO clicou no botão OK ...
}
palerique

Cara, o JFileChooser pode retornar uma série de inteiros baseados em como o usuário o utilizou.

O usuário pode selecionar um arquivos, fechar a janela, cancelar…

E essas ações retornarão um inteiro. Esse inteiro é que te dirá o que foi que o usuário fez.

Então uma forma de você lidar com isso é assim:

//Aqui você vai armazenar o inteiro retornado pelo FileChooser:
    int returnVal = chooser.showOpenDialog(parent);

//Aqui você vai lidar com retorno e reagir de acordo com a interação com o usuário
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());
    }

Para você saber exatamente qual o valor retornado você pode acessar a API do Java e dar uma lidinha - http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFileChooser.html

Ou ainda acessar o código da classe:

// ********************************
    // ***** Dialog Return Values *****
    // ********************************

    /**
     * Return value if cancel is chosen.
     */
    public static final int CANCEL_OPTION = 1;

    /**
     * Return value if approve (yes, ok) is chosen.
     */
    public static final int APPROVE_OPTION = 0;

    /**
     * Return value if an error occured.
     */
    public static final int ERROR_OPTION = -1;

Atc,

PH

Criado 31 de maio de 2010
Ultima resposta 31 de mai. de 2010
Respostas 2
Participantes 3