I am looking to create a zoom - pan effect on a jpanel with multiple elements in it with various listeners. I can create the zoom-pan effect relatively easily with Graphics2D's transformations and then drawing the panel. However, once that is done, all the components with mouselisteners are out of whack because their size and location are in the original coordinates instead of zoomed coordinates. I can't scale the mouse coordinates to fix this either, since i am using java's intrinsic mouselisteners to get the mousemoved,clicked etc events (or can i?) Any suggestions to work around this?