para problema de loop ao percorrer as imagens para Jlabel com clique no botão

em uma aplicação java Eu tenho um Jlabel ao qual desejo atribuir uma nova imagem toda vez que clico em um botão, usando um loop for posso obtê-lo para exibir apenas a última imagem pulando entre as imagens, sei que há um erro na minha lógica aqui, talvez eu não deveria estar usando um loop for ?? qualquer conselho

 private String imageList[];
 ImageIcon image;
 imageList =  new String[] {"src\\Tour_Eiffel_Wikimedia_Commons.jpg","src\\Ben.jpg", "src\\Rio.jpg", "src\\Liberty.jpg", "src\\Pyramid.jpg"};

 //constructor setting first image to display on load
public GeographyGameGUI() {
       image = new ImageIcon(imageList[0]);
            imageLbl.setIcon(image);
 }

  //button method
   private void nextBtnActionPerformed(java.awt.event.ActionEvent evt) {                                        


      for (imgCount = 1; imgCount < imageList.length; imgCount++) {
            image = new ImageIcon(imageList[imgCount]);
            imageLbl.setIcon(image);

    }

se eu não usar um loop for e simplesmente usar um contador (exibido abaixo) que declaro fora do método button, ele exibe corretamente as imagens, mas executa uma ArrayIndexOutOfBoundsException. qual é a melhor prática aqui? obrigado

 image = new ImageIcon(imageList[imgCount]);
     imageLbl.setIcon(image);
    imgCount++;

questionAnswers(2)

yourAnswerToTheQuestion