arrayIndexOfBoundException indica che stai tentando di accedere ad una posizione dell'array che non hai.
Allora falle bene le cose e non sbagli

codice:
for(int index = etic.length-1; index >= 0; index--)
            {
                etic[index] = new JLabel();
            }
serve solo ad inizializzare il vettore, quindi fallo come si deve.
o lo fai
codice:
index = 0; index < etic.length; index++
oppure
codice:
index = etic.length; index >= 0; index--
prova e dimmi