我一直在搜索Java的文檔,以瞭解消耗是什麼,但我不明白他們提供的解釋。我不明白是什麼消耗()
例如,MouseEvent類包含方法consume()。 Java文檔聲明:consume():「消耗此事件,以便它不會由源自它的源以默認方式處理。」
在下面的段落中,它們提供了一個消耗()函數的示例: 輸入事件在它們源自其來源通常處理之前會傳遞給偵聽器。這允許偵聽器和組件子類「消耗」事件,以便源不會以默認方式處理它們。例如,在Button組件上使用mousePressed事件將會阻止Button被激活。
如果我理解正確,通常一旦在Button組件上發生了像'mousePressed'這樣的事件,該按鈕應該被激活。但是通過調用事件上的消耗,組件(包含偵聽器)將不會響應,因爲事件在它到達組件之前已被使用或銷燬?因此,組件甚至沒有機會以「默認方式」進行處理?
謝謝你的幫助。
消費一個事件只會影響尚未被調用的可能偵聽器,因此如果第一個偵聽器使用該事件,則不會再通知已註冊的偵聽器。這假設事件/偵聽器的處理支持這個功能 – MadProgrammer