¿Cómo creo un JPanel con dos imágenes donde solo se muestra una parte del que se muestra a continuación con el mouse?

Estoy tratando de crear un panel de botones en el que el botón en el que se hizo clic se convierta en 'de diferente color'; es decir, mostrar la imagen de fondo. p.s Solo necesito este enfoque (con 2 imágenes), y nada más. Gracias !

P.ej:

public class TestPane extends JPanel {      

        private BufferedImage   imgUnclicked;
        private BufferedImage   imgClicked;
        private Point           mousePoint;

        public TestPane() {
            try {
                imgUnclicked = ImageIO.read(new File("C:\\Users\\Me\\Desktop\\tmp\\Uncolored.png"));
                imgClicked = ImageIO.read(new File("C:\\Users\\Me\\Desktop\\tmp\\Colored.png"));
            } catch (IOException ex) {
                Logger.getLogger(Spotlight.class.getName()).log(Level.SEVERE, null, ex);
            }

            addMouseMotionListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    mousePoint = e.getPoint();
                    repaint();
                }
            });
        }
    }
    @Override
    protected void paintComponent(Graphics g) {
        //Draw imgClicked
        //Draw imgUnclicked with some rectangular area around mouse click subtracted
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta