il mio problema è che non riesco a far funzionare il metodo dragged sapete darmi una risposta del perchè non funziona?

codice:
private class TraslaMouseInputListener extends MouseAdapter implements MouseMotionListener {
                  private double mouseX, mouseY;
                  
                private Point2D.Double p1;
                

        public void mousePressed(MouseEvent event) {
            mouseX = event.getX();
            mouseY = event.getY();
     
        }
       
        
        public void mouseDragged(MouseEvent event) {
		System.out.println("dentro dragged");
			int currMouseX = event.getX();
			int currMouseY = event.getY();
			
			 if(casa[traslare]!=null && casa[traslare].contains(mouseX, mouseY)) {//test su mouseX e mouseY !!!
				casa[traslare].x+= currMouseX - mouseX;
				casa[traslare].y += currMouseY - mouseY;
				mouseX = currMouseX;
				mouseY = currMouseY;
		

				
				repaint(); }

		}
      
           
        
        public void mouseReleased(MouseEvent event) {
            
            int currMouseX = event.getX();
            int currMouseY = event.getY();
            int i=0;
             
            
      while(i<(maxParcheggi)) {
            if(casa[i]!=null && casa[i].contains(mouseX, mouseY)) { //test su mouseX e mouseY !!!
                              Rectangle2D tempor=new Rectangle2D.Double(casa[i].x,casa[i].y,casa[i].width,casa[i].height);    
                               double width=casa[i].width;         
                            double height=casa[i].height;
                // System.out.println("mouse released"+currMouseX);
                  //System.out.println("mouse released"+ currMouseY);
                              traslare=i;
                              casa[i].x +=  currMouseX - mouseX;
                              casa[i].y += currMouseY - mouseY;
                              mouseX = currMouseX;
                     mouseY = currMouseY; 
                     System.out.println("traslare"+traslare);
                     //qui effettuare il controllo dell'intersezione
                     
                      if(ControlloRuotaTrasla(casa[i],i) && ControlloPerimetro(casa[i]) ) {

            
           
            } else{
                   casa[i].x=tempor.getX();
                   casa[i].y=tempor.getY();                                
                   casa[i].height = height;
                   casa[i].width =width;
            
            }
                     
                
               }
                 i++;
    }
    repaint();
}
qui tutte le cose che ho importato


codice:
import java.awt.*;
import java.io.*;
import javax.imageio.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.swing.*;
import java.lang.Math;
import java.lang.String;
import javax.swing.JColorChooser;