I'm looking at developing a puzzle game, it might be like tetris or something similar, perhaps more like bejewelled in that the player will select objects with the mouse to manipulate them. 

I've been studying java part-time in college for the past year, really beginner stuff, but I've decided to build a game over the summer to keep the brain active :-D 

So far I've animated some primitive shapes moving around the screen using the timer from the utilities package. This is all good, they're behaving the way I want. 
So now I've decided to try manipulate the shapes with the mouse. Just some really simple stuff, maybe change the colour of an object when I click on it. 

To test the mouse functions I've successfully completed the MouseEvent and MouseListener tutorials on [The New Boston][1]. 
However, I can't get these events working in my code. I suspect I'm going to have to re-write my classes.

Will I need separate threads within the game, for example, one thread to animate the objects and another to listen for and handle mouse events. 

My understanding is that I should implement runnable on my classes when using threads in Java games. 
Am I thinking on the right lines? 


  [1]: http://www.thenewboston.com/%22The%20New%20Boston%22