Almacenar JTextField en un arreglo.

Buen dia colegas.

Mi experiencia con Java es poca por ello estoy intentando hacer una tarea pero no he tenido exito.

Tengo 3 JFrames dentro de cada uno hay de 10 a 20 JTextField.

En algunos eventos es necesario deshabilitar o habilitar todos los jTextField que componen los jFrames. Mediante una clase intente hacer un metodo para almacenar todos los jTextField en un arreglo para posteriormente con un iterador habilitar o deshabilitar con solo llamar a la clase.

Este es el ejemplo de mi intencion:

ArrayList lista = new ArrayList();
Iterator iterador = lista.listIterator();

public clNuevos() {
lista.add(jTextField1);
lista.add(jTextField2);
lista.add(jTextField3);

while(iterador.hasNext())
{
final JTextField j = (JTextField) iterador.next();
j.setEnabled(false);
}
}

Dicho codito me arroja ConcurrentModificationException.

Espero me puedan ayudar. Gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Obtén el iterador después de

Obtén el iterador después de haber agregado los elementos. Esa excepción sale porque se intenta recorrer un iterator cuando la lista fue modificada.

Esto deberia de funcionar
 

Java tiene un for que te permite iterar los elementos de un Iterable ( clases que implementan esta interfaz, ve la documentación, ArrayList es una de ellas )

Sería así

 

Internamente usa el iterator, solo que este código es más simple.

Mejor aún, en Java ( desde la version 4 ) se pueden especificar el tipo de dato que va almacenar tu lista ( se le conoce como generics ) :

 

Ya no es necesario hacer el cast, porque ya le dijiste que elementos va a usar la lista.

Espero que esto te sirva.