=RESOLVIDO= JFileChooser tem dois botoes ...Como Faço um listener pro botao cancelar?

4 respostas
S

gente, dia!!!

Estou mexendo com o FileChooser e tenho dois problemões ...

1º O FileChooser tem dois botoes mas o netbeans só me fala pra colocar 1 listener, que funciona para os dois.

2º O path que o FileChooser imprime é parecido com esse : file:/C:/Users/André/Documents/Enem%202012.htm ,
porém, preciso que venha nesse formato : C:\\foto.jpeg

jLabel_FotoAeronave.setIcon(new javax.swing.ImageIcon("C:\\foto.jpg"));

private void jFileIMGChooserActionPerformed(java.awt.event.ActionEvent evt) {                                                
   
    
        try {
            File pathFile = jFileIMGChooser.getSelectedFile();
            URL toURL = pathFile.toURI().toURL();
            String path = toURL.toString();
            
            //Aeronaves.setPathToImage(path);
            System.out.println("Caminho: " + path);
            

        } catch (MalformedURLException ex) {
            Logger.getLogger(EscolhendoImagem.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
    }

4 Respostas

V

Oi.

Por que você está sequer usando o listener do FileChooser? Ele é uma janela modal.

O path só aparece desse jeito pq vc mandou transforma-lo numa URL. Aliás, nem sei pra que você está fazendo isso, já que é totalmente desnecessário.

Seu código poderia ser simplesmente:
if (jFileIMGChooser.showOpenDialog(this) != JFileChooser.APPROVE_OPTION)
    return;

File file = JFileChooser.getSelectedFile();
jLabel_FotoAeronave.setIcon(new ImageIcon(file)); 
System.out.println("Caminho: " + file.getAbsolutePath());
S

Desculpa a demora pra responder.
Sim deu certo usando absolutePath. Mas agora preciso entender como fazer pra ele fazer uma ação diferente pra quando eu clicar em selecionar e cancelar.

quase laaaa

L

Andre Lopes:
Desculpa a demora pra responder.
Sim deu certo usando absolutePath. Mas agora preciso entender como fazer pra ele fazer uma ação diferente pra quando eu clicar em selecionar e cancelar.

quase laaaa

/**
     * Obtém arquivo desejado para salvar a mídia capturada
     * @return
     */
    public File getArquivoSalvo() {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY );
        int resultado = fileChooser.showOpenDialog(this);

        if ( resultado == JFileChooser.CANCEL_OPTION )
            return O QUE VOCÊ QUISER QUANDO ELE CANCELAR A JANELA  :D 
        else
            return QUANDO ELE APROVAR A JANELA...
    }

Espero ter ajudado. Não se ligue no nome do meu método é só um exemplo, se ligue no código.

L

Você colocou o tópico como resolvido mas não colocou como conseguiu resolver seu problema. Coloque aqui para os que tiverem mesmo problema que o seu também conseguirem.

Criado 1 de julho de 2012
Ultima resposta 3 de jul. de 2012
Respostas 4
Participantes 3