Buttons don't need a KeyListener
(and for the most part shouldn't use them), they use an ActionListener
to respond to all activation events, including the action key (which isn't always the Enter), mouse clicks, keyboard shortcuts and programmatically triggered events, it's a much more simplified API.
See How to Use Buttons, Check Boxes, and Radio Buttons, How to Write an Action Listeners and How to Use Actions for more details
You can also set a button as the "default" button which can be activated when not focused (so long as the currently focused component doesn't use/consume the Enter key)
See JRootPane#setDefaultButton
and How to Use Root Panes for more details