Estou a tentar criar um labirinto em java. O labirinto tem um elemento que eu quero mover para a direita ao pressionar a seta para a direita. Tenho a classe Test e a classe Element. O elemento tem uma posição definida pelos atributos x e y. A função printFrame faz o display do labirinto num JPanel com um Gridlayout e cada célula(cell) é um JPanel. O elemento é representado por um quadrado vermelho. Quando a tecla com a seta para a direita é pressionada a posição do elemento é atualizada pela classe RIGHTaction.
Como posso atualizar o mazePanel de forma a que seja mostrada a nova posição do elemento? Devo atualizar a array cells com a nova posição do elemento e assim o JPanel é atualizado automaticamente? E a posição anterior do elemento deve ser apagada para evitar que apareçam dois quadrados vermelhos(um com a posição anterior e outro com a nova posição)?
E como devo fazer para para que o código pare quando a posição do elemento é por exemplo x==9 e y==7? Devo criar um ciclo para que o progama corra enquanto a posição do elemento for diferente da posição final? Onde devo colocar esse ciclo?
O meu código pode ser visto nos links seguintes:
Classe Test: http://pastebin.com/d0n7qwqa
Classe Element: http://pastebin.com/HBWXt6zd