Deletar arquivos com JFileChooser

1 resposta
R

Boa tarde pessoal.
Estou estou tentando implementar um esquema para deletar arquivos usando o JFileChooser mas estou com dois problemas.
Gostaria de fazer o seguinte, eu apenas seleciono o arquivo dentro do componente e aperto a tecla do teclado “delete” para deletar o arquivo.
O problema é que o método getAbsolutePath só me devolve o caminho do arquivo depois de eu clicar Open. E não sei tratar deste evento do apertar a tecla “delete” dentro do JFileChooser.
Alguém poderia me ajudar com estes dois problemas?

Obrigado

Segue o código abaixo:

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class FileChooser { 
	public static void main( String[] args ) {
		JFileChooser arquivo = new JFileChooser();
		String caminhoArquivo = null;
		arquivo.setDialogTitle("Arquivos");//Define o nome da janela.

		int retorno = arquivo.showOpenDialog(null);
		if( retorno == JFileChooser.APPROVE_OPTION ) {
			caminhoArquivo = arquivo.getSelectedFile().getAbsolutePath();//Pega o caminho do arquivo.
		}
		JOptionPane.showMessageDialog(null, caminhoArquivo);//Só para mostar o caminho.
	}
}

1 Resposta

R

Pessoal, mudei o código para ficar mais bonitinho, melhor estruturado, olhei no netbeans sobre eventos e copiei também um trecho de código que trata eventos dele, só que continuo sem saber como implementar.

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import java.awt.event.*;

class Janela {
	private JFileChooser janela;

	public Janela() {
		initComponents();
	}
	
	private void initComponents() {
		janela = new JFileChooser();
		String caminhoArquivo = null;
		janela.setDialogTitle("Arquivos");//Define o nome da janela.
		janela.setMultiSelectionEnabled(true);//Ativa a opção de selecionar múltiplos arquivos.

		int retorno = janela.showOpenDialog(null);
		if( retorno == JFileChooser.APPROVE_OPTION ) {
			caminhoArquivo = janela.getSelectedFile().getAbsolutePath();//Pega o caminho do arquivo.
			//File[] arquivos = janela.getSelectedFiles();
         		janela.addActionListener(new java.awt.event.ActionListener() {
            			public void actionPerformed(java.awt.event.ActionEvent evt) {
                			janelaActionPerformed(evt);
            			}
        		});
		}
		JOptionPane.showMessageDialog(null, caminhoArquivo);//Só para mostar o caminho.
	}

private void janelaActionPerformed(java.awt.event.ActionEvent evt) {
//Teóricamente devo implementar o que acontece se eu apertar o botão "Delete" aqui.
//Veja bem, não é um botão de deletar, é só apertar a tecla "Delete" do teclado com os arquivos selecionados no JFileChooser aberto.
}

}

public class FileChooser { 
	public static void main( String[] args) {
		Janela j = new Janela();
	}
}
Criado 27 de julho de 2012
Ultima resposta 27 de jul. de 2012
Respostas 1
Participantes 1