C'è la possibilità di accedere a specifiche celle per ridisegnarne il contenuto all'interno di un pannello strutturato con un GridLayout?
Mi spiego meglio: dovrei creare una griglia (ad esempio 3x3) e metterci all'interno delle immagini, poi in seguito ad un evento dovrei far sì che specifiche celle cambiassero l'immagine al suo interno (senza ridisegnare tutto ogni volta). qualcuno ha qualche suggerimento? (grazie in anticipo a tutti coloro che mi scriveranno).
Allego il codice di esempio che sto scrivendo:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Frame extends JFrame{
public Frame(){
Container panel = getContentPane();
panel.setLayout(new GridLayout(3,3));
JLabel img[] = new JLabel[9]; //array di immagini da posizionare nelle celle
ImageIcon immagine = new ImageIcon("casella_acqua.jpg"); //immagine da posizionare di default
ImageIcon immagine2 = new ImageIcon("centro_nave.jpg"); //immagine da posizionare in seguito ad un evento
for(int x = 0; x <= 8 ; x++){
img[x] = new JLabel(immagine); //inizializzo l'array con l'immagine di default
panel.add(img[x]); //aggiungo l'immagine al pannello corrispondente
}
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
pack();
setVisible(true);
}

public static void main(String args[]){
Frame fr = new Frame();
}
}