2011-03-01 38 views

回答

7

不是沒有丟失一些信息。 MouseEvent包含有關鼠標位置(x, y)以及按下哪些按鈕(如果有)的信息。


我會做轉換是這樣的:

MouseEvent me = ...; 
ActionEvent ae = new ActionEvent(me.getSource(), me.getID(), me.paramString()); 
3

當然,這是一個按鈕做什麼(我的理解)。它處理MouseEvent並創建(發送)ActionEvent

動作事件是語義事件 - 就像一個信號,某個按鈕(widget!)已被「按下」。這個動作事件的觸發器可能是一個鼠標事件(當鼠標指針位於由AWT Button小部件定義的矩形中時,「左鍵已被按下並釋放」)或鍵盤事件(「空格鍵已被按下並釋放而焦點在AWT Button小部件「)。

我想你不是在看技術轉換。實際上,您必須聽取鼠標事件並將新的動作事件發送給動作偵聽器。