There's a Swing forum here at the JavaRanch where this topic would be more at home. Regardless, there's a few things that are odd. First of all, a JPanel is a container and isn't generally a focus owner to begin with. The decision to have "Ship" extend JPanel seems dubious at best. You're also going to need to post some code to show us what you're doing and what the problem is before we can help further. I can't divine why you can't move your ship after clicking on a text field but I can tell it almost certainly has little to do with it being "unfocusable".
Look up Component.contains(int,int) for the answer to your other question. I'd link it but the forum software won't let me.