Ler nome de arquivos de diretorio

Pessoal, preciso carregar uns icones, e jogá-los num panel, seriam todos os que existem naquele diretorio.
Estou fazendo o codigo abaixo mas não está carregando, será que é o caminho, tem que ser o caminho inteiro ? ou será outro erro

private void mostrarIcones(String icones) {
        File diretorio = new File("images");
        String[] arquivos = diretorio.list();
//        int[] arquivos = new int[0];
        for (int i = 0; i < arquivos.length; i++) {
            JLabel icone = new JLabel(arquivos[i]);
            jtp_pequenos.add(icone.getComponent(i));
        }
    }

Que tal algo assim?

icone = new javax.swing.JLabel(); icone.setIcon(new javax.swing.ImageIcon(getClass().getResource("/pasta/imagens/arquivo.gif")));

OK, e depois posso jogar no vetor ??

O que você quer “jogar” (adicionar) no vetor? (seria uma lista?)

Eu preciso, pegar os icones(imagem), que existem num diretorio e jogá-las todas num panel, para depois eu desenvolver a ação do usuário jogar esses icones na tela.

Mas o que preciso agora é ler todos os icones do diretorio e jogá-los na tela um a um.

Você precisa então repensar como quer fazer isso.

Se vai haver ação sobre os ícones é melhor você criar botões (JButton) com eles assim você pode “ouvir” a ação em cada botão, talvez algo semelhante a isso (mas você que tem que ver como pretende fazer), uma coisa é certa “ouvir” a ação do usuário sobre um JLabel não é uma boa ideia.

btn = new javax.swing.JButton(); btn.setIcon(new javax.swing.ImageIcon("/pasta/imagens/arquivo.gif")); btn.setToolTipText("Explicar aqui o que esse botão faz."); btn.addActionListener(new java.awt.event.ActionListener() { // ouvinte da ação no botão public void actionPerformed(java.awt.event.ActionEvent evt) { // o que fazer quando houver uma ação sobre esse botão } }); // Agora aqui você tem que ver "onde" realmente (em qual componente, JPane, etc) você quer adicionar o botão.

É que na verdade, esse ícone não vai servir como botão ele não terá ação de chamar algo.
Vou me explicar melhor, esses ícones, só precisaram aparecer numa janela lateral direita, preciso, ler eles de um diretorio onde eles se encontram, e jogá-los, na tela.
Preciso varrer o diretório e ir colocando um a um nessa janela lateral. Seria isso.

Javer, entendu o que expliquei acima ??