Вы не хотите писать игру, используя компоненты свинга для спрайтов!
Вместо этого вы создаете пользовательский элемент управления (обычно производный от JPanel или Canvas) и затем переопределяете функцию paint ().
Внутри функции рисования вы рисуете ваше изображение следующим образом:
class MyClass extends JPanel{
int x,y;
BufferedImage myImage = ImageIO.read("mySprite.png");
@Override
public void paint(Graphics g){
g.drawImage(myImage,x,y,this);
}
}
Затем в вашем коде вы меняете значения x и y, чтобы переместить ваш спрайт.