2014-09-12 98 views
0

我不知道如何做到這一點,或者如果有可能。基本上我正在寫我自己的GUI系統,我想要一個界面來處理點擊檢測。 gui元素(GuiButton等)都是GuiElement的子文件夾。我想要的是能夠靜態調用GuiElement.onCLick(x,y),然後讓該類的所有子類實例觸發其覆蓋的OnCLickListener接口。從靜態方法調用所有實例的接口方法

基本上我不想保留每個元素的參考,並通過它循環。

+6

你可能不想那樣做,但這就是你必須要做的。 – 2014-09-12 21:21:25

+0

不會工作,並且可能表明您需要重新設計您的應用程序。 – 2014-09-12 21:33:03

+0

@Guillaume:不,不要鼓勵鏈接發送!如果有相關的例子,OP應該將代碼直接發佈到他們的問題中。 – 2014-09-12 21:42:34

回答

0

我假設你正在編寫自己的GUI作爲練習。

評論是正確的,你可能不想保留對GuiElement的所有實例的引用,但你必須。除此之外,你可能不想有一個靜態的電話GuiElement.onClick(x, y)。像這樣的靜態調用是一種代碼味道...甚至更多,你可能不想傳播鼠標點擊到所有GuiElement,但只能到位於(x, y)GuiElements

你應該看看如何在Swing中定義MouseEvent。即使Swing有一些缺點,它的大部分基本概念都是健全的。研究它的實施方式會給你一些正確的方向。編寫自己的GUI層是一個非常好的練習,它是面向對象設計的一個非常好的操場,但是一些閱讀會幫助你在這個方向上走很長的路。

+0

或者他可以使用Swing,但在他的帖子中他說他正在「編寫自己的gui系統..」 – Dave 2014-09-12 21:42:23

相關問題