2012-01-12 72 views
5

在我大學的日子裏,我從來沒有意識到Java API中有什麼模式。 現在我在工作中遇到了Objective C中的委託模式n iOS上的Cocoa,其中一個屏幕將自己設置爲即將到來的屏幕上的代理,以便該屏幕可以將某些消息傳遞給該代理,並且在返回時可以採取一些操作前一個屏幕。ActionListener是委託模式的一個例子嗎?

我意識到我用來做一些類似的事情,當我用這個類作爲ActionListener [通過實現接口]傳遞給JButton時,它會自動調用這個類中由我實現的actionPerformed,因此我可以更改我的JFrame類中的任何實例數據。

那麼ActionListener是委託的一個例子如果我是正確的?

編輯:正如下面正確提到的那樣,它是觀察者模式。我們不設置ActionListener我們添加一個。因此,可以有很多聽衆進行該操作。

回答

6

ActionListenerobserver pattern的示例。您將觀察者(或偵聽者)註冊到發生特定事件時被調用的組件上。

+0

這是正確的。在我刪除我的帖子之前,我提到它是命令模式。不是這樣。 Action是,但不是ActionListener。 – Xorty 2012-01-12 06:20:31

+0

但我只能爲每個JButton設置一個觀察者。不多。 我們有setActionListener方法不addActionListener添加很多。 – 2012-01-12 06:20:58

+1

我的JButtons有addActionListener方法。恥辱你是有限的。 – MeBigFatGuy 2012-01-12 06:21:52

相關問題