2014-02-14 48 views
0

好的,如果我添加一個Window Listener到一個JFrame,我可以添加一個新的WindowAdapter()作爲一個抽象類,然後覆蓋我想要的特定方法,以便我可以向它們添加功能,例如windowClosing()WindowAdapter是一個抽象類,它是接口WindowListener的默認實現,並且WindowListener擴展爲EventListener;所有這些都是相當空的,只是定義方法名稱,但沒有真正的代碼。有人可以幫助解釋抽象類WindowAdapter的工作原理嗎?

所以我的問題是,它在哪裏定義根默認行爲是什麼? X按鈕與windowClosing事件綁定在哪裏? windowClosing事件定義在哪裏?

我猜想是什麼讓我想要更好地理解抽象類,接口和子類,也許我試圖解析的例子有點太複雜。

回答

3

X按鈕綁定到windowClosing事件的位置在哪裏? windowClosing事件在哪裏定義?

簡而言之,不要擔心這是在什麼地方特別定義的 - 它都是在Swing內部事件機制中設置的,它不是您最需要擔心的最終用戶。

有人可以幫忙解釋抽象類WindowAdapter的工作原理嗎?

WindowAdapter就像您所說的那樣,是「默認實現」WindowListener。所有這一切意味着它將每一種方法實現爲一個空白方法,所以你只需選擇覆蓋你所需要的方法。這純粹是爲了方便,爲了節省您不必每次定義一堆你不用或不在意的空方法,例如,想要設置一個偵聽器來在窗口關閉時觸發。

+0

我如何才能找到代碼爲windowClosing事件只是好奇?我想看看它是如何編碼在鞦韆 –

+0

謝謝 - 這是我的理解,但與托馬斯相似,我很好奇,看看如何編碼完成的事件和看到它們都結合在一起。我現在已經掌握了實現接口和擴展類與抽象類想法之間的區別,我只想知道如何知道何時應該使用它們。 –

相關問題