I know this thread is almost one year old, but for peoples interest and in order to learn something for myself I put my assumption here.

When I look at your run()-method I see that your program will end after adding the listeners. That means there will be no active object (program in this case) methods left, that could respond to any Event (mouse or keyboard).
I guess this is the problem...
You should have a loop in the run-method, that keeps it alive ...

maybe I'm wrong ... I started to learn java about a week before.

greets