I reckon you should translate the transformed image according to your mouse.
Graphics2D graphics = (Graphics2D) g;
graphics.setTransform(transformer);
Point mouse = MouseInfo.getPointerInfo().getLocation();
SwingUtilities.convertPointFromScreen(mouse, this);
> graphics.translate(-mouse.getX() * graphics.getTransform().getScaleX(), -mouse.getY() * graphics.getTransform().getScaleY());
graphics.drawImage(image, 0, 0, image.getWidth(null), image.getHeight(null), null);
> graphics.translate(mouse.getX() * graphics.getTransform().getScaleX(), mouse.getY() * graphics.getTransform().getScaleY());
graphics.setColor(Color.BLACK);
graphics.fillRect(0, 0, 90, 15);
graphics.setColor(Color.WHITE);
graphics.drawString(String.format("X: %.0f Y: %.0f", mouse.getX(), mouse.getY()), 10, 10);
Just a guess tho, haven't tried compiling your code
EDIT: remember to translate back