2012-04-08 75 views
-1

我正在處理財務等小型應用程序。我使用的開發環境是netbeans。正在運行的文件,越來越StackOverflowError

我其中我已存儲的所有的方法中,一個數據類和框架類(稱爲Fenster1)

一個方法類(稱爲Methoden)爲了得到一些輸入我的方法中所定義的方法並試圖訪問它

Methoden m = new Methoden(); 
... 
buttonAction { 
    m.getInput(); 
} 

代碼是好的,沒有錯誤的。但是,當我嘗試啓動還需要一段時間,然後會出現這種錯誤的應用程序:

異常在線程「AWT-EventQueue的 - 0」 java.lang.StackOverflowError的 在sun.awt.Win32GraphicsConfig.getBounds(母語法)
在sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:222) 在java.awt.Window.init(Window.java:496)
在java.awt.Window中。(Window.java:535 )
at java.awt.Frame。(Frame.java:420)
at java.awt.Frame。(Frame.java:385)
at javax.swing.JFrame。( JFrame.java:180)
在haushaltsbuch.Fenster1(Fenster1.java:19)
在haushaltsbuch.Methoden(Methoden.java:16)

現在:。我怎麼能解決這個錯誤,使一切運行良好?


似乎已解決。

在Fenster1有Methoden m = new Methoden(); 而在Methoden有Fenster1 f = new Fenster1();

+1

可能你已經有了遞歸 - 一種調用自己的方法,或者更可能是一個反覆創建自己的類。也許JFrame創建Method類,創建創建Method的JFrame,...等...不是我的倒票,但是你還沒有發佈足夠的信息來真正讓我們做更多的猜測。你至少應該在導致發生錯誤堆棧跟蹤的行中發佈代碼。 – 2012-04-08 21:01:48

+0

請再次提供更多信息。 – 2012-04-08 21:27:15

+0

這似乎是問題所在。一個類創建一個參考對象,另一個創建一個參考對象,反之亦然。 但是我怎樣才能訪問一個類中的按鈕和另一個類中的方法沒有以遞歸結束? – michaelbahr 2012-04-08 21:39:13

回答

3

堆棧溢出異常的裝置(通常),一個函數遞歸調用自身。我會懷疑Methoden#getInput()這樣做。