我一直在做JFrame的一點點,並且自從我開始使用Mouselistener(或任何事件列表器)以來,事情會平穩運行大約2分鐘左右。然後我會得到大量的重複錯誤,程序仍然可以運行,但我可以使用任何事件偵聽器。錯誤基本上是這樣的: ...在AWTEventMulticaster.mouseEntered()中導致無限遞歸的原因是什麼?
(無法趕上及時頂線,但像在線程異常「的AWT - EventQueue的 - 0」 java.lang.StackOverflowError的) (後面)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:282)
...
重複數百行,其中mouseEntered可以是任何事件列表。
我已經花了很多時間檢查所有整數,看看它們是否過高(發現一個,修復它,仍然發生)。我也到處檢查了一個可以調用自己的值,但這沒什麼意義,因爲它發生在2分鐘內。
我不認爲與任何特定的代碼有關,只是告訴我它是什麼意思,以及如何解決它。
如果您可以發佈'MouseListener'的代碼以及如何使用它,這將有所幫助。 – 2011-05-22 21:08:18
'我不認爲是與任何特定的代碼有關 - 你怎麼知道這一點?你採取了哪些調試步驟來證明這一說法?在那之前,你有一個純粹而簡單的錯誤,代碼將幫助我們解決它。所有的Swing代碼都在EDT上被調用?有遞歸嗎?編輯:事實上,我會假定有遞歸進行,無論你看不到。你的代碼再次爲我們回答這個問題。 – 2011-05-22 21:12:32
好的,...我想你已經解決了這個問題。祝你好運。 – 2011-05-22 22:24:16