The title basically says it all.
The only thing to take into consideration is it needs to be cross platform.
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It only takes a minute to sign up.Sign up to join this community
While not technically a JAVA library SDL is a C library that I use extensively that does input and much more. It does however have bindings for java and can run on pretty much any platform in existence.
There is JSDL and SDLjava
Kind of depends.
Are you using JFrame without a game library or framework?
If so then you want to call the method
addMouseListener(ListenerObjectHere) on the JFrame. Then the listeners you just created should Implement
If you're using a game framework it should have a polling system instead of events, which I'm not sure how to get around (Unless you could obtain the JFrame). If this is the case, just check each update (or tick) if a button is pressed.