I am no expert, and I nevertheless suggest separating both the controls and the business/game/menu (name it) logic.
I have already answered a similar question in regards to giving directions to a Snake in a game designed with classes. Java being an object-oriented language, I guess you are able to write adequate classes and stuff. Then, when you have written your object class, if it is so that your object needs to react to some keys and mouse clicks, I would go with a Controller class that knows what is currently displayed on screen, then tell this object what it should do depending on the key that has been pressed or the region that has been clicked.
Here's the link to the question I told you about which I answered about separating the controls from the object logic. It also includes a code sample which illustrates my thought.
Moving my sprite in XNA using classesMoving my sprite in XNA using classes
(Unfortunately, none of the answer was yet accepted by the OP, so we don't know for sure whether it solved his concerns. Besides, I'm always designing this way and found no trouble by doing so so far.)
Now I know, it's tagged XNA. The idea or design is a higher architecture level than the technology that is used, so this design could be simply adapted to Java syntax. The general idea remains the same. =)
I do hope this helps! I'll be glad to help further when I can, just ask! =)