使用ActionListener与MouseListener捕获JButton的点击的利弊


问题内容

我有一个JButton,想捕获鼠标单击它。在JButton上使用ActionListener与使用MouseListener之间有什么实际和哲学上的区别?


问题答案:

ActionListener用于处理按钮的逻辑单击。点击发生

  • 当按下鼠标然后释放按钮时,
  • 或使用该按钮的键盘快捷键时,
  • 或当按钮具有焦点并按下空格键时,
  • 或当按钮为默认按钮并按下Enter键时,
  • 或以编程方式调用按钮的click()方法时

MouseListener仅处理低级鼠标事件。