2015-09-04 251 views

回答

3

的ActionListener Doc的

的偵聽器接口用於接收操作事件。 有興趣處理動作事件的類實現此接口,並且使用該組件的addActionListener 方法將使用該類創建的對象註冊爲 組件。當動作事件發生時,該對象的 actionPerformed方法被調用。

的MouseListener Doc的

的偵聽器接口用於接收 「感興趣」 的鼠標事件 (按下,釋放,單擊,進入和退出)的組件上。 (要跟蹤 鼠標移動和鼠標拖動,請使用 MouseMotionListener。)

從你可以看到這個界面的使用是完全地不同的文檔。雖然您只能將MouseListener與gui元素組合使用,但在沒有gui時也會使用ActionListener,例如與定時器結合使用。

2

第一個區別是A MouseEvent是一個真正的系統事件,而一個ActionEvent是一個綜合事件......它由系統事件觸發。

的MouseListener(和MouseMotionLister,MouseWheelListener的)是有用的(a)當你感興趣的事件的詳細信息(即X/Y單擊點),或者當您正在使用的組件不支持的ActionListeners

Action小號當你有一個任務可以在沒有外部事件細節的情況下執行(比如退出程序)並且你希望能夠在多個組件中訪問,或者通過鍵盤或鼠標

2

ActionListener用於處理按鈕的邏輯點擊。的點擊情況:

  • 當鼠標在按下按鈕然後釋放,
  • 或當使用該按鈕的鍵盤快捷鍵,
  • 或當按鈕具有焦點和空格鍵按下,
  • 或當按鈕是默認按鈕,按Enter鍵,
  • 或當按鈕的點擊()方法被稱爲編程

MouseListener只處理低級別的鼠標事件。