Array de ImageIcon

Olá, pessoal, eu precisaria fazer um Array de ImageIcons.
Seguinte… Eu listo todas as imagens que tem no diretorio, e queria ir transformando cada uma delas em imageicon, através do path delas.
Só que eu iniciei o vetor icons, com null, porque nao sabia como inicializa-lo… ai quando eu vou executar… da o bendito NullPointerException.
Como eu faria isso funcionar??
Eis o codigo

public BufferedImage[] listaTemplates(String dir, String filtro) { ImageIcon[] icons=null; BufferedImage[] listaImagens=null; java.io.File diretorio = new java.io.File(dir); String[] templates = diretorio.list();//aqui eu pego todas as imagens presentes no diretorio for (int x=0;x<=templates.length-1;x++) { if (templates[x].endsWith(filtro)) { icons[x]= new ImageIcon(templates[x]); BufferedImage bi = new BufferedImage(icons[x].getIconWidth(),icons[x].getIconHeight() , BufferedImage.TYPE_INT_RGB); Graphics2D g = bi.createGraphics(); g.drawImage(icons[x].getImage(), 0, 0, null); listaImagens[x] = bi; } } return listaImagens; }

Melhor usar ArrayList<BufferedImage>

Realmente, não tem como acessar um elemento de um array nulo.

Depois de criar o templates faça:

ImageIcon[] icons= new ImageIcon[templates.length];

Ou então, faça como o colega falou. Crie um

List&lt;ImageIcon&gt; icons = new ArrayList&lt;ImageIcon&gt;();

E use o método add.