Como eu faço para selecionar um diretório com FileChooser  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
JCassianoPJ
What is classpath?
[Avatar]

Membro desde: 21/06/2005 00:00:00
Mensagens: 7
Offline

Ai pessoal, alguém sabe como eu faço pra selecionar um diretório com o FileChooser e ele pegar o que está dentro do diretório (por exemplo só os gifs). E ainda contar quantas gifs tem no diretório. Valeu desde já !
[WWW] [ICQ]
niltonSINPJ
Smalltalk
[Avatar]

Membro desde: 24/05/2005 00:00:00
Mensagens: 2
Offline

Olá,

Utilize o método getSelectedFile() do JFileChooser que retorna um File (diretório ou arquivo)

O método listFiles() da classe File retorna um array de objetos File dentro de um diretório.

Você pode um passar um FileFilter para listFiles para filtrar apenas os tipos de arquivos desejados.

Maiores detalhes em:
http://java.sun.com/j2se/1.4.2/docs/api/index.html

http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html

http://javaalmanac.com/egs/javax.swing.filechooser/pkg.html


Para criar um FileFilter:
http://javaalmanac.com/egs/javax.swing.filechooser/Filter.html[/url]


Acho que pode ajudar,

Nilton
[WWW] [ICQ]
fbelmiraPJ
What is classpath?
[Avatar]

Membro desde: 18/05/2005 00:00:00
Mensagens: 6
Offline

Ola...
tenta isso...



MAS PARA TANTO... PARA QUE CONSIGA MOSTRAR OS ARQUIVOS .GIF VC VAI TER QUE IMPLEMENTAR A SEGUINTE CLASSE...



ESPERO TER AJUDADO...
BEIJOS...

* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus :joia:
[WWW] [ICQ]
JCassianoPJ
What is classpath?
[Avatar]

Membro desde: 21/06/2005 00:00:00
Mensagens: 7
Offline

Oi fbelmira,

Peguei seus códigos mas não consegui utilizá-los.

Estou com um projeto onde o objetivo é montar um album de fotos, mas estou com grande dificuladade de atribuir a ação ao botão que abre o fileChooser. Como eu mensionei, necessito que no fileChooser eu só possa escolher as pasta e ele abrisse só os .gif .jpg e ainda necessito saber quandos imagens possui esse diretório para que eu possa fazer a paginação, eu sei que tem um método listFiles() mas não cheguei a estudá-lo.
[WWW] [ICQ]
fbelmiraPJ
What is classpath?
[Avatar]

Membro desde: 18/05/2005 00:00:00
Mensagens: 6
Offline

Oi cassiano, para vc usar o meu codigo, vc teria que modificar algumas coisa pois algumas coisa, como objetos, estavam default...
Estou mandando o codigo com comentarios linha-a-linha para vc ver o que tem que mudar para rodar...
Esse codigo vc coloca no metodo do botão que vc quer que abra, assim la vai...

int result = fileChooser.showOpenDialog( this );
if( result == JFileChooser.CANCEL_OPTION ) return;
//nao precisa mudar nada aqui, isso eh somente precausao, verificação.


File tmpFile = new File(NOME_DO_ARQUIVO);
//Essa linha vc so precisa, caso queira colocar um nome default como arquivo para salvar ou abrir, o parametro NOME_DO_ARQUIVO tem que ser uma String com esse nome, tipo "foto1.jpg".


JFileChooser fileChooser = new JFileChooser( /tmp );
// desculpe pelo parametro pois nao ficou bem claro, mas aqui voce coloca uma String, indicando o diretorio que voce quer que a janela abra, por exemplo "C:/Documentes/Fotos".


fileChooser.addChoosableFileFilter( new AudioFilter("gif","gif") );
// o parametro new AudioFilter("gif","gif"), são os filtros, os TIPOS de arquivos que estão no diretorio que vc quer que apareca, caso vc queira mais de um tipo, vc acrescenta essa linha sendo que com o tipo que quer, por exemplo: fileChooser.addChoosableFileFilter( new AudioFilter("jpg","jpg") ); e assim por diante... esse AudioFilter eh a classe que vc implementou (que esta logo abaixo) e pode ser implementada do jeitinho que mandei pra vc, sem mudar nada e pode ser implementada no mesmo arquivo dessas...


o resto do codigo vc pode implementar igual, sem mudar nada, pois tenho certeza que vai funcionar, pois isto eh parte do codigo de um sistema meu que abre numa boa...

Agora quanto a dizer o numero de arquivos, sugiro que neste metodo
voce coloque um contador e o metodo Java que faz esse tipo de contagem, e no titulo dessa janela voce informe a quantidade.
Mudar o titulo vc pode usar o seguinte codigo...

FileChooser.openDialogTitleText ("Quantidade: " + quant);
quant seria a quantidade de arquivos...

mais uma vez espero que ajude...
[WWW] [ICQ]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team