Re: [問題] 關於事件處理
※ 引述《slalala (不再嘴砲了)》之銘言:
: A1 A2 ....
: / \ / \
: B1-1 B1-2 B2-1 B2-2 .....
: 我想請問一下
: 如何讓Jframe這個class內的的actionlistener能偵測到 B物件上的Button的event呢????
還是用回文的好了,
ActionListener 本身是一個介面。
你要說JFrame的class ,倒不如說是 繼承JFrame的class
你要說繼承JFrame的class的ActionListener,
倒不如說是 實做ActionListener 且 繼承JFrame的class。
(還是你的意思是JFrame中含有實做ActionListener的成員?)
在事件聆聽的角色上,
它只扮演ActionListener的角色,跟JFrame的角色完全沒有關係,
所以說只有ActionListener會被聆聽,這部份是屬於介面的概念。
────────────────────────────────
事件模型採用的是觀察者模式,
AbstractButton.addActionListener(ActionListener)
這是JButton的原型,它只在乎 ActionListener的角色。
不管用任何方式,你只要餵給它一個ActionListener,
也不管他原型是否有繼承其他類別,
當事件發生的時候,他會發通知給他的上游,他的上游要負責去把事件接住。
所以你說JFrame要怎麼接事件,當然就是實做ActionListener,
然後想辦法餵給B上得button做Listener啊。
但是這跟JFrame有關係嗎?
至少在事件觸發的角色而言,兩者是沒有關係的。
只不過往往因為在觸發之後方便處理元件的更換,所以將這兩者結合而已。
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 語 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼 *◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂~telnet://tony1223.no-ip.info
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.76.250
※ 編輯: TonyQ 來自: 59.115.76.250 (03/01 20:06)
推
03/02 01:02, , 1F
03/02 01:02, 1F
→
03/02 01:03, , 2F
03/02 01:03, 2F
→
03/02 02:06, , 3F
03/02 02:06, 3F
推
03/02 02:11, , 4F
03/02 02:11, 4F
→
03/02 02:18, , 5F
03/02 02:18, 5F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章