以下是我創建的對象上的兩種方法。超類實現了MouseListener。只有在調用System.out.println時纔會調用Java重寫方法
@Override public void mousePressed(MouseEvent event){
mIsPushed = true;
System.out.println("Button pushed");
}
@Override public void mouseReleased(MouseEvent event){
mIsPushed = false;
System.out.println("Button released");
}
當兩個System.out.println
調用是註釋掉,程序工作正常,表現爲它應該。當他們不是時,它什麼也不做。我甚至在mIsPushed
任務中放置了斷點,並且他們從未達到。
但是,如果我在調用這兩個函數的位置放置了一個斷點,則調試器會觸及它並進行調用。
誰能告訴我我錯過了什麼?
請給一個簡短而完整的程序演示問題。我懷疑你正在做一些狡猾的事情,比如試圖從多個線程使用共享變量而沒有過時值的保護,但是我們不能說沒有看到更多的代碼。 –
這也是我的選擇,因爲印刷聲明基本上是所有其他方面都沒有的。 – aioobe