[問題] 外部class如何知道內部class中的按鈕被按下??

看板java作者 (薯)時間14年前 (2011/06/27 10:00), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
玩家在Main Class 中按下按鍵後跳(new)出一個dialog Class dialog裡面可以調整遊戲動作所對應的按鍵(譬如↑↓←→改成WSAD之類的) 當玩家按下dialog中的確定鍵之後 呼叫這個dialog Class 的外部Main Class必須把dialog裡的值讀回去 目前想到兩種作法 一種是polling Main class等到dialog isVisible == false 的時候讀值 一種是把Main class的reference丟進去讓dialog可以invoke mainObj.dospmthing(); 是否有其他更乾淨俐落的寫法呢?? polling感覺會拖慢程式的速度 而把上層物件的refer 給下層的物件,讓下層的物件去控制上層的物件 用起來總覺得毛毛的.... 就好像班長可以控制部隊,而小兵卻能控制班長 總覺得哪裡不太對勁... -- 肝不好 肝若好 人生是黑白的 考卷是空白的 、 ﹐ ● ●b ▎ ●> ● ▌ ﹍﹍ 囧> 幹... ▲ ■┘ ▎ ■ ▋ ︶■ 〈﹀ ∥ ▁▁∥ ▎ ﹀〉▊ 〈\ ψcockroach727 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.61.232

06/27 12:23, , 1F
用interface
06/27 12:23, 1F

06/27 14:08, , 2F
可以請No大講的詳細一點嗎?
06/27 14:08, 2F

06/27 17:50, , 3F
callback interface, 提供小兵通知班長的介面
06/27 17:50, 3F

06/27 19:18, , 4F
如果類似需求很多,也可以考慮建個 event bus
06/27 19:18, 4F
文章代碼(AID): #1E1-GyQR (java)