JFileChooser:Como manipular FileName box

9 respostas
E

Saudações a todos os javeiros .
Pessoal estou aqui com um probleminha e gostaria muito de ter a vossa opinião, o seguinte:

Eu criei uma class derivada da JFileChooser class e nela fiz o override de apenas um método o approveSelection() método.
De seguida criei um objecto a partir da class criada por mim e nele invoco o método showSaveDialog(), só que o problema é que eu não consigo dar o nome que eu quero ao file criado depois de pressionar o save button. O novo file até que é criado mas apenas com o nome dado por mim no source code e não o que eu escrevo no espaço “File Name:” do SaveDialog, por outras palavras eu não consigo manipular a caixa “File Name:” do SaveDialog.

O que é que devo fazer ?

Desde já agradeço.

9 Respostas

Flasoft
não sei se esta é sua duvida mas cria esta class aqui e ve se é isto q precisa?
import javax.swing.JFileChooser;

public class TesteQ {
 	public static void main(String[] args) {
		JFileChooser a = new JFileChooser();
		if (a.showSaveDialog(null) != 0)
			System.out.println("Cancelou");
		else
			System.out.println(a.getSelectedFile());
	}
}
E

Nao era isso que eu queria mas ja consegui resolver o problema , de qualquer forma obrigado pelo seu tempo. :stuck_out_tongue:

P

amigo…estou tendo o msm problema…como conseguiu resolver?

vlw

E

É muito simples. A class JFileChooser tem um método chamado getName.Este método retorna um String que é o nome colocado na caixa File_Name.

Veja o códico abaixo:

[color=green][i]Class myChooser extends JFileChooser{

public void approveSelection(){

String file_Name;

File f;

file_Name=getName(getSelectedFile());

f=new File(file_Name);
}

}[/i][/color]

Não se esqueça que criar um file cria uma IOException.

Qualquer problema é só dizer.

P

file_Name=getName(getSelectedFile());

eu até tentei usar o get name, mas n passei esse getSelectedFile como parâmetro…

só me explica uma coisa…esse getSelectedFile pega o arquivo q vc selecionou!? ou ele pega o nome do arquivo q vc está tentando salvar?!

vlw cara!!!

E

O getSelectedFile() pega o file que eu prentendo salvar ou seja o nome escrito na file_Name: box. Mas se tu clicares em algum file entao este passara a ser o file selecionado e o JFileChooser ira repor o conteudo desse file selecionado pelo conteudo do file acabado de criar (no teu source code).

NB:Se quiser pode usar getSelectedFile().getName() ao inves de getName(getSelectedFile);.

Nao entendi se funcionou ou nao. :?:

Qualquer coisa e so dizer.

P

deu certo sim…consegui pegar o nome…só há um porém…o arquivo nao está sendo salvo no diretorio q esta sendo colocado…eu tentei criar um objeto File e passar o PATH completo mas nao tive sucesso…

sabe o que poderia ser?!

vlw…e obrigado pela atenção… :smiley:

E

Desculpe pela demora mas nao consegui acessar o GUJ durante o dia de ontem.

Eu nunca fiz isso mas tanto quanto sei a class JFileChooser tem um metodo chamado getCurrentDirectory() que retorna um objecto File que e o directorio que esta sendo visualizado no JFileChoser ,entao o seu codigo poderia ser algo como:

[color=green][i]Class myChooser extends JFileChooser{

public void approveSelection(){

File f;

File directorio;

String nome_directorio;

String file_Name;
directorio=getCurrentDirectory();

nome_directorio=directorio.getAbsolutePath();

file_Name=nome_directorio+"\"+getSelectedFile().getName();

f=new File(file_Name);
}

} [/i][/color]

Se tiveres algum problema e so avisar.

E

Mil perdoes acabei de testar o codigo e teve alguns erros logicos.
Veja a correccao:

[color=green][i]char c=/;

char c2=’\’;

file_Name=nome_directorio+"/"+getSelectedFile().getName();

file_Name=file_Name.replace(c2,c);
f=new File(file_Name);[/i][/color]

Tiro e queda , statisfacao garantida. :stuck_out_tongue:

Criado 6 de julho de 2006
Ultima resposta 28 de set. de 2006
Respostas 9
Participantes 3