-2

財務などを処理する小さなアプリケーションに取り組んでいます。私が使用している開発環境は netbeans です。

すべてのメソッド、データクラス、およびフレームクラス (Fenster1 と呼ばれる) を格納したメソッドクラス (Methoden と呼ばれる) があります。

入力を取得するために、メソッドクラスでメソッドを定義し、次の方法でアクセスしようとしました

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

コードは問題なく、エラーはまったくありません。しかし、アプリケーションを起動しようとすると、しばらく時間がかかり、次のエラーが表示されます。

スレッド「AWT-EventQueue-0」での例外 java.lang.StackOverflowError at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
at sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:222) at java.awt.Window.init (Window.java:496)
で java.awt.Window.(Window.java:535)
で java.awt.Frame.(Frame.java:420)
で java.awt.Frame.(Frame.java:385)
でjavax.swing.JFrame.(JFrame.java:180)
at haushaltsbuch.Fenster1.(Fenster1.java:19)
at haushaltsbuch.Methoden.(Methoden.java:16)

今: このエラーを修正して、すべてが正常に動作するようにするにはどうすればよいですか?


解決したようです。

Fenster1 にはMethoden m = new Methoden(); ありましたが、Methoden にはありましたFenster1 f = new Fenster1();

4

1 に答える 1

3

スタック オーバーフロー例外は、(通常) 関数が再帰的にそれ自体を呼び出すことを意味します。私は Methoden#getInput() がこれを行うのではないかと疑っています。

于 2012-04-08T21:05:00.077 に答える