Well, I am pretty sure you could add a JInternalFrameListener and listen for the drag event. Anytime someone drags it, just setLocation(x,y) back where it should go. However, I think a cleaner approach would be to not use JInternalFrames at all. If you aren't moving the frame around, isn't it just a JPanel? I would use a JPanel in place of a JInternalFrame and just statically place it where you want it. Either way would work, but I like the JPanel idea better.
The best way to do this is provide a new DesktopManager to the JDesktopPane that contains this JInternalFrame. Basically, just override the dragFrame() method to ignore moving a frame based on some criteria. In my example I create a marker interface, but you could keep it simple and base it on a predefined title or something if you don't need that much functionality.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.