[RESOLVIDO] Jlist Items

4 respostas Resolvido
java
M

Boas malta, alguem me pode explicar como posso fazer com que os items que apareça no Jlist sou eu que escolho, tipo assim:

Directory Name==>:C:\Diretorio\Antonio
Directory Name==>:C:\Diretorio\Antonio\Documentos
Directory Name==>:C:\Diretorio\Antonio\Documentos\Temp

Mas eu queria apenas que aparecesse o que tivesse mais de 3 \ ou sei là, que apenas aparecesse o maior?

4 Respostas

jacoboliveira

Ola @Mitic_Stone explica melhor eu não entendi:

1 - “(…) como posso fazer com que os items que apareça no Jlist sou eu que escolho(…)”?
O que vc esta querendo dizer aqui que você vai inserir dinamicamente em tempo de execução? e o formato de exibição da lista não entendi também?
2 - "(…)Mas eu queria apenas que aparecesse o que tivesse mais de 3(…)"
O que é que você quer que apareça mais de Três, pasta , diretorio?

M

Ola @jacoboliveira lendo agora o que eu escrevi tambem não percebo nada --’

Vou tentar explicar, eu fiz um código que faz o seguinte:

Imaginem que tem no “C:/” uma pasta chamada “Diretorio” e dentro dessa existem sub pastas (C:/Diretorio/antonio/documentos/temp[este é o caminho das pastas]) prontoo eu consegui fazer com que aparecesse no Jlist essas pastas a serem apresentadas, mas o problema é que ele mostra todos os caminhos ou seja o que eu mostrei :

C:\Diretorio\Antonio
C:\Diretorio\Antonio\Documentos
C:\Diretorio\Antonio\Documentos\Temp
(isto aparece no jlist)

O que eu pretendia fazer è que destes 3 caminhos apenas aparecesse o C:\Diretorio\Antonio\Documentos\Temp, a minha pergunta è que se há alguma forma de fazer com que só apereça o caminho final…

jacoboliveira
Solucao aceita

Segue um alternativa para imprimir o caminho de acordo com pasta

int count = 0;
String r = "";

private void encontrarCaminho(String dirPath, String encontrarPasta) {

    File f = new File(dirPath);
    File[] files = f.listFiles(new FileFilter() {

        @Override
        public boolean accept(File pathname) {
            return pathname.isDirectory();
        }
    });

    if (files != null) {
        for (int i = 0; i < files.length; i++) {
            count++;
            // System.out.println(files[i].getPath());
            File file = files[i];

            if (file.isDirectory()) {
                String s = file.getPath().substring(file.getPath().lastIndexOf(File.separator) + 1);
                if (s.equalsIgnoreCase(encontrarPasta)) {
                    r = file.getPath();
                    break;
                } else {
                    if (encontrarPasta != null) {
                        encontrarCaminho(file.getAbsolutePath(), encontrarPasta);
                    }
                }
            }
        }
    }

}

Como usar:

encontrarCaminho("C:\\testes\\", "Temp"); //[caminho root, nome pasta que vc quer printar o caminho completo]
System.out.println(r);

//resultado: C:\testes\Antonio\Documentos\Temp
M

@jacoboliveira Muito Muito obrigado, eu tive de mudar umas coisas porque isso só me mostrava a ultima pasta, se eu tivesse mais pastas isso só mostrava a ultima, mas no fim, isso ajudou bastante, obrigado!!!

Criado 5 de julho de 2016
Ultima resposta 7 de jul. de 2016
Respostas 4
Participantes 2