Salve a tutti vorrei fare un gioco che gire sul web quindi con importando il JApplet.

ecco il mio problema sussiste in questo pezzo di codice :

codice:
public void run(){
		
		while (true){
			
			repaint();
			
			try{
				
				Thread.sleep(17);
				
			}catch(InterruptedException e){
				
				e.printStackTrace();
				
			}
			
		}
		
		
	}
	
	public void update(Graphics g){
		
		int w = this.getSize().width;
		int h = this.getSize().height;
		
		if ( buffering == null){
			
			buffering = createImage(w, h);
			doubleG = buffering.getGraphics();
			
		}
		
		doubleG.setColor(getBackground());
		doubleG.fillRect(0, 0, w, h);
		
		doubleG.setColor(getForeground());
		paint(doubleG);
		
		g.drawImage(buffering, 0, 0, this);
	}
	
	
	public void paint(Graphics g){
		
		g.drawImage(lumachina, lumachinaX, lumachinaY, null);
		
	}
in pratica con questi tre metodi, viene stampato sullo schermo del JApplet una lumachina, che con una classe implementata alla KeyListener la faccio muovere, e il metodo update, serve per non far lampeggiare la lumachina per il Thread, l'unico problema, e che quando muovo la lumachina premendo i tasti con la KeyListener, la lumachina si muove, ma resta stampata nelle coordinate precedenti, come se si moltiplica. ho provato con il repaint(); ma non funziona, solo che appena allargo lo schermo si cancellano le copie della lumachina che avanzano, sapete come posso risolvere questo problema?