Re: [問題] 關於事件處理

看板java作者 (骨頭)時間17年前 (2008/03/01 20:06), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串10/11 (看更多)
※ 引述《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
Jrame已經implements ActionListener但是接不到button事件
03/02 01:02, 1F

03/02 01:03, , 2F
我的作法只有想辦法在Jframe上餵給B的button listener嗎?
03/02 01:03, 2F

03/02 02:06, , 3F
不管是不是同一個Component或Frame 本來就是要add才算數囉
03/02 02:06, 3F

03/02 02:11, , 4F
我是在B class add的話該怎麼作呢?? 因為event會再jframe
03/02 02:11, 4F

03/02 02:18, , 5F
B_child.addActionListener( A_instance)
03/02 02:18, 5F
文章代碼(AID): #17oKR43S (java)
討論串 (同標題文章)
文章代碼(AID): #17oKR43S (java)