Fehlermeldung: StackOverflowError

ModellbahnerTT

Bekanntes Mitglied
Hallo Leute

ich habe ein kleines Proggi gemacht, bis her lief alles gute, jedoch nun kommt eine komische Fehlermeldung:

Hier mein Proggi:
package haus;

import java.awt.Color;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.border.EtchedBorder;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class fenster implements ActionListener
{
JFrame myframe = new JFrame("Fenster");
JButton mybutton [][]= new JButton [2][2];

public fenster()
{
myframe.setLocation(50,50);
myframe.getContentPane().setBackground(Color.black);
myframe.setLayout(null);
myframe.setLocationRelativeTo(null);
int heightRand = myframe.getHeight()-myframe.getContentPane().getHeight();
int widthRand = myframe.getWidth()-myframe.getContentPane().getWidth();
System.out.println("ContentPane = "+(myframe.getContentPane().getWidth())+":"+myframe.getContentPane().getHeight());
myframe.setSize(150+widthRand,140+heightRand);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
{
for (int i=0;i<2;i++)
{
for (int u=0;u<2;u++)
{

//System.out.println("Size of ContentPane = "+(myframe.getContentPane().getWidth())+":"+myframe.getContentPane().getHeight());
fenster imp = new fenster();
mybutton = new JButton(" ");
mybutton.setSize(40,40);
mybutton.setLocation(i*70+20,u*60+20);
mybutton.addActionListener(imp);
myframe.getContentPane().add(mybutton);
mybutton.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
mybutton.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
}
public static void main(String[] args){
{

fenster f= new fenster();{

}
}
}
@Override
public void actionPerformed(ActionEvent arg0)
{

System.out.println("Unser Code wird durchlaufen!!!");

}
}



Nun meine Fehlermeldung:
Exception in thread "main" java.lang.StackOverflowError
at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
at sun.awt.Win32GraphicsConfig.getBounds(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at haus.fenster.<init>(fenster.java:17)
at haus.fenster.<init>(fenster.java:40)
at haus.fenster.<init>(fenster.java:40)
at haus.fenster.<init>(fenster.java:40)
Die letzte Fehlermeldung geht extrem oft weiter!

Bitte hilft mir!!!
Danke im Vorraus
MFG
 
Zuletzt bearbeitet:
wollte jetzt gar nicht unbedingt den Titel korrigieren, hätte es dann selber gemacht aber lohnt kaum bei so kleinen Themen,
wenn wir aber schon darüber diskutieren: bitte keine Ausrufezeichen 😉

tja, ne Lösung,
doch nicht etwa im verlinkten Thread?
ne ich weiß auch nicht (sorry 😉 )
 
Habe die Ausrufezeichen auch rausgenommen.
ok danke trotzdem!


wollte jetzt gar nicht unbedingt den Titel korrigieren, hätte es dann selber gemacht aber lohnt kaum bei so kleinen Themen,
wenn wir aber schon darüber diskutieren: bitte keine Ausrufezeichen 😉

tja, ne Lösung,
doch nicht etwa im verlinkten Thread?
ne ich weiß auch nicht (sorry 😉 )
 
Ja, da hast du Recht!
Ist das falsch?
Jepp, wird ja zu einer Endlosschleife..du erstellst mit new fenster() ja immer wieder neue fenster-Objekte, d.h. du rufst immer wieder den Konstruktor auf...
Wenn ja was muss dahin?

Da du fenster ja noch nicht einmal benutzt: garnichts! Raus damit ! Ansonsten könntest du this verwenden ! (wobei man das so speziell nicht sagen kann)
 

Zurück
Oben