[問題] 讓下層元件通知上上層元件進行更新
也許版上有文章但一時之間不知道要下什麼關鍵字去搜尋
用「下層」或「上層」當作關鍵字只找到這篇有類似問題
https://www.ptt.cc/bbs/java/M.1210239349.A.CD6.html
我也去看了Design Pattern的觀察者模式
但看完我還是有幾個疑問
首先先簡單描述我的問題:
這是我的UI (javaFX)
https://imgur.com/BG5pDme.jpg
當按鈕被按下的時候
我希望他能夠能夠請他上上上層的TabPane類別新增一個新的Tab
https://imgur.com/OulyOzs.jpg
觀察者模式是一對多,也就是「一個」上層更新狀態的時候
會觸發「多個」訂閱上層的下層們進行更新
但在我這個問題中是反過來的
下層的按鈕會有很多個
而上層的TabPane只有一個
下層有通知上來上層的時候,上層要進行相對應的動作
如果是用訂閱者和報社的關係來比喻的話
就變成TabPane這個訂閱者要去跟好幾家Button報社訂閱
這樣我覺得怪怪的...
如果以我目前所知的方法
就是讓TabPane類別 implement Interface
然後在新增Tab的時候把自己 this 給傳下去
可是Tab和Button中間還有一個ScrollPane類別
所以Tab在new ScrollPaen的時候又把從TabPane拿到的 callback給傳下去
這樣做我自己真的是覺得超級詭異
請問我這個問題是屬於觀察者模式可以解的Design Pattern嗎?
我到底該怎麼解這個問題呢?
--
If a child on the street who has nothing is willing to share,
why are we who have everything still so greedy?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.227.117 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/java/M.1566538866.A.184.html
※ 編輯: liu2007 (123.192.227.117 臺灣), 08/23/2019 13:42:16
→
08/23 15:10,
5年前
, 1F
08/23 15:10, 1F
→
08/23 15:12,
5年前
, 2F
08/23 15:12, 2F
→
08/23 15:13,
5年前
, 3F
08/23 15:13, 3F
→
08/23 15:13,
5年前
, 4F
08/23 15:13, 4F
→
08/23 15:18,
5年前
, 5F
08/23 15:18, 5F
→
08/23 15:22,
5年前
, 6F
08/23 15:22, 6F
結果我找到一個方式可以硬幹但很醜的方式:getParent()
https://pastebin.com/NmkfF17S
不知道業界的正統解法是什麼...
※ 編輯: liu2007 (123.192.227.117 臺灣), 08/23/2019 22:54:23
java 近期熱門文章
PTT數位生活區 即時熱門文章